:root{
    --bg:#f7f9fb;
    --card:#ffffff;
    --primary:#2f9e44;  /* green */
    --muted:#6b7280;
    --text:#0f172a;
    --chip:#eef2f6;
    --chip-text:#475569;
    --warning:#f59e0b;
}
body{background:var(--bg); color:var(--text);}
.app-container{max-width:980px;}
/* Top helper banner */
.ai-card{
    background:linear-gradient(135deg,#e6f8ee,#d9f5e7);
    border:0;
    border-radius:16px;
    padding:18px 16px;
}
.ai-card .bi-robot{font-size:1.6rem; color:#1e7e34;}
/* Search box */
.search-wrap .form-control{
    border-radius:12px;
    padding-left:2.25rem;
}
.search-wrap .bi-search{
    position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--muted);
}
/* Pills */
.filter-pills{
    gap:.5rem; overflow:auto; white-space:nowrap; scrollbar-width:none; -ms-overflow-style:none;
}
.filter-pills::-webkit-scrollbar{display:none;}
.filter-pills .btn{
    border-radius:999px; background:#fff; border:1px solid #e5e7eb; color:#0f172a;
}
.filter-pills .btn.active{background:#e9f7ef; border-color:#c7edd7; color:#1e7e34;}
/* Cards */
.fund-card.card{
    border:1px solid #eef2f6;
    border-radius:14px;
}
.bank-badge{
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:10px; font-weight:700; font-size:.85rem;
    color:#1e7e34; background:#e9f7ef; border:1px solid #d2efdd;
}
.fund-title{font-weight:600; font-size:.98rem;}
.meta small{color:var(--muted);}
.return{color:var(--primary); font-weight:700;}
.rating{color:#f5a524; font-weight:600;}
.tag{
    display:inline-flex; align-items:center; padding:.2rem .5rem; border-radius:999px;
    font-size:.72rem; background:var(--chip); color:var(--chip-text);
}
.tag.low{background:#ecfdf5; color:#047857;}
.tag.medium{background:#fff7ed; color:#b45309;}
.tag.high{background:#fef2f2; color:#b91c1c;}
.kpi{
    font-size:.88rem;
    display:flex; align-items:center; gap:.35rem; color:var(--muted);
}
.kpi .dot{width:6px; height:6px; background:#e2e8f0; border-radius:50%;}
.card-hover{transition:transform .15s ease, box-shadow .15s ease;}
.card-hover:hover{transform:translateY(-2px); box-shadow:0 8px 24px rgba(16,24,40,.06);}
/* Page header */
.page-title{font-weight:700; font-size:1.05rem; color:#334155;}
/* Responsive tweaks */
@media (min-width:992px){
    .app-container{max-width:1100px;}
}
@media (min-width:1200px){
    .app-container{max-width:1240px;}
}