/* ============ Page-specific ============ */
.ap-card{background:var(--ap-surface); border:1px solid var(--ap-border); border-radius:var(--ap-radius); box-shadow:var(--ap-shadow);}
.ap-card-head{padding:1.1rem 1.25rem; border-bottom:1px solid var(--ap-border);}
.ap-card-body{padding:1.25rem;}
.btn-ap-primary{background:var(--ap-primary); border-color:var(--ap-primary); color:#fff; font-weight:600; font-size:.85rem;}
.btn-ap-primary:hover{background:var(--ap-primary-600); border-color:var(--ap-primary-600); color:#fff;}
.btn-ap-light{background:var(--ap-bg); border-color:var(--ap-border); color:var(--ap-text-strong); font-weight:600; font-size:.85rem;}
.btn-ap-light:hover{background:var(--ap-border);}

/* Report type chips */
.ap-report-chip{
  border:1px solid var(--ap-border); background:var(--ap-surface); border-radius:var(--ap-radius-sm);
  padding:.9rem 1rem; cursor:pointer; display:flex; align-items:center; gap:.7rem; height:100%;
}
.ap-report-chip.active{border-color:var(--ap-primary); background:var(--ap-primary-100);}
.ap-report-chip-icon{width:38px; height:38px; border-radius:var(--ap-radius-sm); display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex-shrink:0;}
.ap-report-chip-name{font-size:.85rem; font-weight:700; color:var(--ap-text-strong);}
.ap-report-chip-desc{font-size:.72rem; color:var(--ap-secondary);}

/* KPI cards */
.ap-stat{padding:1.1rem 1.3rem;}
.ap-stat-label{font-size:.78rem; color:var(--ap-secondary); font-weight:600;}
.ap-stat-value{font-size:1.35rem; font-weight:800; color:var(--ap-text-strong); letter-spacing:-.02em; margin:.25rem 0;}
.ap-stat-change{font-size:.74rem; font-weight:700;}
.ap-stat-change.up{color:var(--ap-success);}
.ap-stat-change.down{color:var(--ap-danger);}

/* Table */
.ap-table thead th{font-size:.72rem; color:var(--ap-secondary); font-weight:700; border-bottom:1px solid var(--ap-border); padding:.75rem .6rem; white-space:nowrap;}
.ap-table tbody td{padding:.75rem .6rem; border-bottom:1px solid var(--ap-border); vertical-align:middle; font-size:.85rem; color:var(--ap-text);}
.ap-table tbody tr:last-child td{border-bottom:none;}
.ap-cell-strong{color:var(--ap-text-strong); font-weight:600;}
.ap-badge{font-size:.72rem; font-weight:700; padding:.32rem .6rem; border-radius:20px; display:inline-flex; align-items:center; gap:.3rem;}
.ap-badge.success{background:var(--ap-success-100); color:var(--ap-success);}
.ap-badge .bi{font-size:.5rem;}

/* Scheduled reports */
.ap-sched-row{display:flex; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid var(--ap-border);}
.ap-sched-row:last-child{border-bottom:none;}
.ap-sched-icon{width:38px; height:38px; border-radius:var(--ap-radius-sm); background:var(--ap-primary-100); color:var(--ap-primary); display:flex; align-items:center; justify-content:center; flex-shrink:0;}

.ap-filter-select{background:var(--ap-bg); border:1px solid var(--ap-border); border-radius:var(--ap-radius-sm); font-size:.83rem; color:var(--ap-text-strong); padding:.5rem .75rem;}

@media (min-width: 992px){ .col-lg-2dot4{ flex:0 0 20%; max-width:20%; } }
