/* Page */
.report-page{
  //background:#f8faf8;
  font-family:"Battambang", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.report-title{
  font-size:42px;
  font-weight:800;
  letter-spacing:.3px;
}

.report-sub{
  color:#666;
  font-size:14px;
}

/* Year select */
.report-year-select{
  width:auto;
  min-width:150px;
  height:42px;
  border-radius:10px;
}

/* Cards */
.r-card{
  background:#fff;
  border-radius:20px;
  padding:22px;
  border:1px solid #f0f0f0;
  box-shadow: 0 4px 10px rgba(0,0,0,.04), 0 12px 28px rgba(0,0,0,.08);
  transition: all .25s ease;
}

.r-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 8px 18px rgba(0,0,0,.06), 0 18px 40px rgba(0,0,0,.12);
}

.r-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.r-card-title{
  margin:0;
  font-size:18px;
  font-weight:700;
}

/* Smaller + normal title for 2nd/3rd cards */
.title-soft{
  font-size:16px;
  font-weight:500;
}

/* chip */
.r-chip{
  font-size:12px;
  font-weight:700;
  color:#2f6f3a;
  background:#e9f7ec;
  border:1px solid #cfead6;
  padding:6px 10px;
  border-radius:999px;
}

/* charts */
.chart-wrap{
  padding: 8px 8px 0 8px;
}

.r-hint{
  margin-top:12px;
  font-size:12px;
  color:#666;
}

.empty-state{
  padding: 56px 0;
  text-align:center;
  color:#999;
  font-size:14px;
}

/* Donut */
.donut-wrap{
  position:relative;
  width:220px; /* smaller because col is smaller now */
  max-width:100%;
  margin: 12px auto 0;
}

.donut-wrap canvas{
  filter: drop-shadow(0 6px 16px rgba(0,0,0,0.08));
}

.donut-center{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  pointer-events:none;
}

.donut-center .num{
  font-size:48px;
  font-weight:900;
  line-height:1;
}

.donut-center .lbl{
  margin-top:6px;
  color:#666;
  font-weight:600;
  font-size:14px;
}

/* Tabs style */
.report-tabs .nav-link{
  border: 1px solid #e6e6e6;
  background: #fff;
  color: #222;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 600;
}

.report-tabs .nav-link.active{
  background: #2f8a3b;
  border-color: #2f8a3b;
  color: #fff;
}

/* Optional small section title above cards */
.section-title{
  font-size: 18px;
  font-weight: 700;
  color: #222;
  margin-bottom: 6px;
}

.donut-year{
    text-align: center;
    margin-top: 14px;
    font-size: 18px;
    font-weight: 700;
    color: #2f8a3b;
}

.report-detail-btn-wrap{
    text-align: center;
    margin-top: 30px;
}

.report-detail-btn{
    background: #7a5fa3;
    border: none;
    padding: 12px 28px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    box-shadow: 0 6px 18px rgba(122,95,163,0.3);
    transition: all .25s ease;
}

.report-detail-btn:hover{
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(122,95,163,0.4);
    background: #6b4f95;
}
