:root{
  --kapston-navy:#0F1B2D;
  --kapston-teal:#0E9AA7;
  --kapston-gold:#F5A623;
  --kapston-red:#E74C3C;
  --kapston-green:#2ECC71;
  --kapston-cream:#F8F9FA;
  --kapston-bg:#F1F5F9;
}
body{background:var(--kapston-bg);font-family:'Segoe UI',system-ui,sans-serif;}
.bg-kapston-navy{background:var(--kapston-navy)!important;}
.text-kapston-teal{color:var(--kapston-teal)!important;}
.btn-kapston{background:var(--kapston-teal);color:#fff;border:0;}
.btn-kapston:hover{background:#0c8590;color:#fff;}

.sidebar{
  background:#fff;border-right:1px solid #e6eaf0;min-height:calc(100vh - 56px);
  position:sticky;top:0;max-height:100vh;overflow-y:auto;
}
.sidebar-link{color:#334155;text-decoration:none;}
.sidebar-link:hover{color:var(--kapston-teal);}
.phase-pill{font-size:.65rem;min-width:50px;}

.main-pane{min-height:calc(100vh - 56px);}

.stat-card{background:#fff;border:1px solid #e6eaf0;border-radius:8px;padding:14px;text-align:center;}
.stat-num{font-size:1.6rem;font-weight:700;color:var(--kapston-navy);}
.stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;}
.stat-existing{border-left:4px solid var(--kapston-green);}
.stat-p1{border-left:4px solid #0d6efd;}
.stat-p15{border-left:4px solid var(--kapston-teal);}
.stat-p2{border-left:4px solid #6c757d;}

.meta-card{background:#fff;border:1px solid #e6eaf0;border-radius:6px;padding:10px 14px;}
.meta-label{font-size:.7rem;text-transform:uppercase;color:#64748b;}

.report-frame{width:100%;height:1100px;border:0;}

.metric-tile{background:#fff;border:1px solid #e6eaf0;border-left:4px solid var(--kapston-teal);border-radius:6px;padding:12px;}
.metric-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.3px;}
.metric-value{font-size:1.5rem;font-weight:700;color:var(--kapston-navy);line-height:1.1;}
.metric-delta{margin-top:2px;font-size:.72rem;}

.chart-card{background:#fff;border:1px solid #e6eaf0;border-radius:8px;padding:14px;height:100%;}
.chart-title{font-size:.78rem;text-transform:uppercase;color:#64748b;letter-spacing:.4px;margin-bottom:8px;font-weight:600;}

.value-card{background:#fff;border:1px solid #e6eaf0;border-left:4px solid var(--kapston-gold);border-radius:6px;padding:12px 16px;}
.value-label{font-size:.7rem;text-transform:uppercase;color:#64748b;font-weight:600;margin-bottom:4px;letter-spacing:.4px;}

.comment{padding:10px 0;border-top:1px solid #eef2f7;}
.comment:first-child{border-top:0;}
.comment-body{white-space:pre-wrap;color:#334155;font-size:.92rem;}
