:root{
 --dg-navy:#0b2852;--dg-blue:#0f67c8;--dg-green:#31b64a;--dg-soft:#f4f8fc;
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#172033;background:#fff}
.navbar-brand{font-weight:800;letter-spacing:-.5px}
.brand-mark{display:inline-flex;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--dg-blue),var(--dg-green));align-items:center;justify-content:center;color:#fff;font-weight:900}
.hero{background:linear-gradient(115deg,#071d3d 0%,#0c4d95 55%,#16863d 100%);color:#fff;border-radius:0 0 34px 34px}
.hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}
.section-title{font-weight:800;letter-spacing:-.5px}
.property-card{border:0;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(20,50,90,.09);transition:.2s}
.property-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(20,50,90,.15)}
.property-image{height:230px;object-fit:cover;background:#e8eef6}
.badge-soft{background:#eaf5ff;color:#0c5eaf}
.price{font-weight:800;color:var(--dg-navy)}
.feature-icon{width:46px;height:46px;border-radius:14px;background:#edf6ff;display:flex;align-items:center;justify-content:center;color:var(--dg-blue);font-weight:800}
.admin-shell{min-height:100vh;background:#f5f7fb}
.admin-layout{min-height:100vh;display:flex;align-items:stretch}
.admin-main{min-width:0;flex:1}
.sidebar{--bs-offcanvas-width:280px;background:#071d3d;color:#dbe7f5;min-height:100vh;width:280px;flex:0 0 280px;border:0!important;overflow:hidden}
.sidebar-inner{height:100vh;min-height:100vh;overflow-y:auto;overflow-x:hidden;padding-bottom:1rem}.admin-brand{display:flex;align-items:center;gap:.65rem;white-space:nowrap}.admin-brand-mark{display:inline-flex;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--dg-blue),var(--dg-green));align-items:center;justify-content:center;color:#fff;font-size:.78rem;font-weight:900}
.sidebar .btn-close{opacity:.9}
.sidebar .btn-close:hover{opacity:1}

.sidebar a{color:#c7d6e9;text-decoration:none;display:block;padding:10px 14px;border-radius:10px;margin:3px 0}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.12);color:#fff}
.kpi{border:0;border-radius:18px;box-shadow:0 8px 25px rgba(20,50,90,.07)}
.table-card{border:0;border-radius:18px;box-shadow:0 8px 25px rgba(20,50,90,.06)}
@media(min-width:992px){.sidebar{position:sticky;top:0;height:100vh}.sidebar-inner{height:100vh}}
@media(max-width:991.98px){
 .admin-layout{display:block}
 .sidebar{width:280px;min-height:100vh;height:100vh;flex:initial;overflow:hidden}
 .sidebar-inner{height:100vh;min-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:2rem}
 .admin-main{width:100%}
 .admin-brand{font-size:1rem}
}
@media(max-width:360px){.sidebar{--bs-offcanvas-width:270px;width:270px}.admin-brand{font-size:.92rem}.admin-brand-mark{width:32px;height:32px;flex-basis:32px}}
@media(max-width:767px){.hero{border-radius:0 0 24px 24px}.property-image{height:200px}}
.chart-bars{display:flex;gap:18px;align-items:flex-end;min-height:190px;overflow-x:auto}.chart-col{min-width:72px;text-align:center}.chart-stack{height:155px;display:flex;align-items:flex-end;justify-content:center;gap:5px}.chart-bar{width:18px;border-radius:5px 5px 2px 2px}.chart-bar.income{background:var(--dg-blue)}.chart-bar.expense{background:#6c757d}.chart-value{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress{background:#edf1f6}
