/* LegalUtility Project Report: report sheet (screen preview + A4 print / Save as PDF) */
.rp{--g9:#0b2b29;--g8:#0f3d3a;--g7:#17524e;--g1:#e3eeeb;--br:#b98a3e;--br2:#e9d6ae;--ink:#122220;--sl:#56665f;--ln:#dbe2dd;--zb:#f6f8f6;
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);font-size:12.5px;line-height:1.55;background:#fff;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.rp *{box-sizing:border-box}
.rp p{margin:0 0 9px}
.rp .neg{color:#b3261e}
.rp .muted{color:var(--sl)}

/* Section headings */
.rp-sec{padding:0 0 10px}
.rp-sec h2{margin:22px 0 12px;font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:17px;letter-spacing:-.005em;color:var(--g8);display:flex;align-items:center;gap:12px;break-after:avoid;page-break-after:avoid}
.rp-sec h2::before{content:"";width:5px;height:20px;border-radius:3px;background:var(--br);flex:none}
.rp-sec h2::after{content:"";flex:1;height:1px;background:var(--ln)}
.rp-sec h3{margin:14px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--g7);break-after:avoid}
.rp .unit{font-size:11px;color:var(--sl);margin:0 0 6px}
.rp .note{font-size:11px;color:var(--sl);margin-top:8px}
.rp .prose p{text-align:justify;hyphens:auto}

/* Key-value tables */
.rp table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.rp table.kv{margin-bottom:10px}
.rp table.kv th{width:32%;text-align:left;font-weight:500;color:var(--sl);padding:6px 10px;border-bottom:1px solid var(--ln);vertical-align:top}
.rp table.kv td{padding:6px 10px;border-bottom:1px solid var(--ln);font-weight:600}
.rp table.kv tr:nth-child(odd) th,.rp table.kv tr:nth-child(odd) td{background:var(--zb)}

/* Financial tables */
.rp table.fin{margin:0 0 12px;font-size:11px}
.rp table.fin thead{display:table-header-group}
.rp table.fin th{background:var(--g8);color:#fff;font-weight:600;text-align:left;padding:7px 8px;white-space:nowrap}
.rp table.fin th:first-child{border-top-left-radius:6px}.rp table.fin th:last-child{border-top-right-radius:6px}
.rp table.fin td{padding:5.5px 8px;border-bottom:1px solid var(--ln)}
.rp table.fin tr{break-inside:avoid;page-break-inside:avoid}
.rp table.fin tbody tr:nth-child(even) td{background:var(--zb)}
.rp table.fin .r{text-align:right;white-space:nowrap}
.rp table.fin tr.sub td{background:var(--g1)!important;font-weight:700;color:var(--g8)}
.rp table.fin tr.tot td{background:var(--g8)!important;color:#fff;font-weight:700}
.rp table.fin tr.tot td .neg{color:#ffb4ab}
.rp table.fin tr.hl td{background:#fbf3df!important;font-weight:700}
.rp table.fin tr.b td{font-weight:700}
.rp table.fin tr.grp td{background:#fff!important;color:var(--br);font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.08em;padding-top:10px;border-bottom:1.5px solid var(--br2)}
.rp table.fin.wide td:first-child{min-width:150px}
.rp .pair{max-width:62%}
.rp .sched table.fin{font-size:10px}
.rp .sched table.fin td{padding:3.5px 8px}

/* Callouts */
.rp .callout{margin:10px 0;padding:10px 14px;border-radius:10px;background:#eef6f2;border:1px solid #cfe3da;font-size:11.5px}
.rp .callout b{color:var(--g8)}

/* Glance tiles */
.rp .glance{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.rp .glance.g3{grid-template-columns:repeat(3,1fr)}
.rp .glance div{border:1px solid var(--ln);border-radius:10px;padding:10px 12px;background:linear-gradient(180deg,#fff,var(--zb))}
.rp .glance small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--sl)}
.rp .glance b{display:block;font-family:"Fraunces",Georgia,serif;font-size:17px;font-weight:600;color:var(--g8);margin-top:2px;white-space:nowrap}
.rp .glance em{font-style:normal;font-family:"Plus Jakarta Sans",sans-serif;font-size:10.5px;color:var(--br);font-weight:700;margin-left:4px}
.rp .verdict{display:flex;gap:14px;align-items:flex-start;border-radius:12px;padding:12px 16px;font-size:12px}
.rp .verdict b{flex:none;font-family:"Fraunces",Georgia,serif;font-size:15px;padding-right:14px;border-right:1px solid currentColor}
.rp .verdict.ok{background:#e6f4ec;color:#145c3d}
.rp .verdict.mid{background:#fbf3df;color:#6b4d14}
.rp .verdict.bad{background:#fdecea;color:#8c1d18}

/* Lists */
.rp ol.steps{counter-reset:s;list-style:none;padding:0;margin:4px 0 10px}
.rp ol.steps li{counter-increment:s;position:relative;padding:5px 0 5px 34px;break-inside:avoid}
.rp ol.steps li::before{content:counter(s);position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--g8);color:var(--br2);font-weight:700;font-size:11px;display:grid;place-items:center}
.rp ul.dots{margin:4px 0 10px;padding-left:18px}
.rp ul.dots li{margin:3px 0;break-inside:avoid}
.rp ul.dots li::marker{color:var(--br)}

/* SWOT */
.rp .swot{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rp .swot .q{border-radius:12px;padding:12px 14px;break-inside:avoid}
.rp .swot h4{margin:0 0 4px;font-family:"Fraunces",Georgia,serif;font-size:14px}
.rp .swot ul{margin:0;padding-left:16px}
.rp .swot .s{background:#e6f4ec}.rp .swot .s h4{color:#145c3d}
.rp .swot .w{background:#fbf3df}.rp .swot .w h4{color:#7a5617}
.rp .swot .o{background:#e8f0fb}.rp .swot .o h4{color:#1d4f91}
.rp .swot .t{background:#fdecea}.rp .swot .t h4{color:#8c1d18}

/* Gantt */
.rp table.gantt{font-size:11px;margin-bottom:8px}
.rp table.gantt th{background:var(--g1);color:var(--g8);padding:6px 8px;font-weight:700;text-align:center}
.rp table.gantt th:first-child{text-align:left}
.rp table.gantt td{border-bottom:1px solid var(--ln);padding:5px 4px;text-align:center}
.rp table.gantt td:first-child{text-align:left;padding-left:8px;width:46%}
.rp table.gantt i{display:block;height:12px;border-radius:6px;background:var(--g7);margin:0 2px}
.rp table.gantt i.go{background:var(--br)}

/* Charts */
.rp .chart-card{border:1px solid var(--ln);border-radius:12px;padding:12px 14px;margin-bottom:10px;break-inside:avoid}
.rp .chart-card h4{margin:0 0 6px;font-size:12px;color:var(--g8)}
.rp .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rp svg.chart{width:100%;height:auto;display:block}
.rp svg .ax{font-size:10px;fill:var(--sl);font-family:"Plus Jakarta Sans",sans-serif}
.rp svg .ref{fill:var(--br);font-weight:700}
.rp svg .vl{font-size:9px;fill:var(--ink);font-weight:600}
.rp .cleg{display:flex;gap:16px;justify-content:center;font-size:11px;color:var(--sl);margin-top:4px}
.rp .cleg i,.rp .dleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.rp .donut{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center}
.rp .dleg div{display:flex;align-items:center;gap:4px;padding:4px 0;border-bottom:1px dashed var(--ln);font-size:11.5px}
.rp .dleg span{flex:1}.rp .dleg b{font-variant-numeric:tabular-nums}

/* Signature */
.rp .sign{margin-top:24px;break-inside:avoid}
.rp .sig{display:flex;gap:30px}
.rp .sig small,.rp .sig-box small{display:block;color:var(--sl);font-size:10.5px}
.rp .sig-box{text-align:center;min-width:230px}
.rp .sig-box span{display:block;height:46px;border-bottom:1.5px solid var(--ink);margin-bottom:6px}
.rp .rp-gen{flex:1 1 100%;margin-top:26px;padding-top:10px;border-top:1px solid var(--ln);font-size:10px;color:var(--sl);text-align:center}

/* Cover: formal, print-friendly */
.rp .cover{background:#fff;padding:0;min-height:1000px;display:flex}
.rp .cv-frame{flex:1;display:flex;flex-direction:column;border:2.5px solid var(--g8);outline:1px solid var(--g8);outline-offset:-9px;padding:46px 54px 40px;position:relative}
.rp .cv-head{display:flex;align-items:center;gap:12px;min-height:40px;font-weight:600;color:var(--g8);font-size:13px}
.rp .cv-head img{height:44px;max-width:160px;object-fit:contain}
.rp .cv-title{text-align:center;margin-top:70px}
.rp .cv-k{text-transform:uppercase;letter-spacing:.35em;font-size:13px;color:var(--br);font-weight:700}
.rp .cover h1{margin:8px 0 0;font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:46px;letter-spacing:.06em;text-transform:uppercase;color:var(--g9);line-height:1.1}
.rp .cv-rule{width:120px;height:3px;background:var(--br);margin:18px auto}
.rp .cv-title p{margin:0;font-size:16px;color:var(--ink);line-height:1.6}
.rp .cv-sub{font-size:13px;color:var(--sl)}
.rp .cv-unit{margin:64px auto 0;text-align:center;max-width:85%;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);padding:22px 0}
.rp .cv-unit small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;color:var(--sl);margin-bottom:6px}
.rp .cv-unit b{display:block;font-family:"Fraunces",Georgia,serif;font-size:30px;font-weight:600;color:var(--g8);line-height:1.2}
.rp .cv-unit span{display:block;margin-top:8px;font-size:13px;color:var(--sl)}
.rp table.kv.cv-kv{margin:40px auto 0;max-width:86%}
.rp table.kv.cv-kv th{width:30%}
.rp table.kv.cv-kv th,.rp table.kv.cv-kv td{background:#fff!important;padding:7px 10px;font-size:12.5px}
.rp .cv-foot{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;border-top:1px solid var(--ln)}
.rp .cv-foot small{display:block;font-size:10.5px;color:var(--sl);text-transform:uppercase;letter-spacing:.08em}
.rp .cv-foot b{font-size:13px}
.rp .rp-sec h2 em{font-style:normal;color:var(--br);margin-right:2px}
.rp .pair2{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;align-items:start}
.rp table.fin.comp td:last-child{white-space:nowrap}
.rp .ok{color:#145c3d;font-weight:700}.rp .no{color:#8c1d18;font-weight:700}
.rp table.kv.emi th{width:58%}
.rp .decl{font-size:12px;margin:0 0 6px}
.rp .sign h3{margin-top:0}
.rp .sig-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-top:30px}

@media (max-width:700px){
  .rp .glance,.rp .cv-tiles{grid-template-columns:repeat(2,1fr)}
  .rp .two,.rp .swot,.rp .donut{grid-template-columns:1fr}
  .rp .cover{min-height:auto}
  .rp .cv-frame{padding:28px 20px}
  .rp .cover h1{font-size:28px}
  .rp .cv-title{margin-top:30px}.rp .cv-unit{margin-top:34px;max-width:100%}
  .rp .cv-unit b{font-size:22px}
  .rp table.kv.cv-kv{max-width:100%}
  .rp .pair2{grid-template-columns:1fr}
  .rp .pair{max-width:none}
  .rp .sign{flex-direction:column;align-items:flex-start;gap:20px}
}

/* ---------------- Print / Save as PDF ---------------- */
@media print{
  @page{size:A4;margin:14mm 12mm 16mm;
    @bottom-left{content:"Detailed Project Report";font:9px "Plus Jakarta Sans",Arial,sans-serif;color:#56665f}
    @bottom-right{content:"Page " counter(page) " of " counter(pages);font:9px "Plus Jakarta Sans",Arial,sans-serif;color:#56665f}}
  @page :first{margin:0;@bottom-left{content:none}@bottom-right{content:none}}
  .rp{font-size:10.5px}
  .rp .cover{min-height:297mm;height:297mm;padding:12mm;break-after:page;page-break-after:always}
  .rp .cv-frame{padding:12mm 14mm 10mm}
  .rp .cv-title{margin-top:22mm}
  .rp .rp-sec h2{margin-top:14px}
  .rp table.fin{font-size:9.5px}
  .rp table.fin th{padding:5px 6px}.rp table.fin td{padding:4px 6px}
  .rp .sched table.fin{font-size:8.5px}.rp .sched table.fin td{padding:2.5px 6px}
  .rp table.kv th,.rp table.kv td{padding:4.5px 8px}
  .rp .rp-sec:not(.sched):not(.charts){break-inside:avoid;page-break-inside:avoid}
  .rp .rp-sec.sched h2{break-before:page}
  .rp .glance b{font-size:15px}
}
