: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{color:#fff;border-radius:0 0 34px 34px}
.hero-discovery{position:relative;min-height:560px;display:flex;align-items:center;background-color:#0b2852;background-image:url("https://images.unsplash.com/photo-1766603636483-84b2a2b8ee89?auto=format&fit=crop&fm=jpg&q=85&w=2400");background-size:cover;background-position:center 58%;overflow:hidden}
.hero-discovery-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,52,.78),rgba(5,31,64,.48) 50%,rgba(5,24,52,.38)),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.48))}
.hero-search-panel{max-width:1050px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(12px)}
.hero-search-panel .form-control,.hero-search-panel .form-select{min-height:54px;border:0;box-shadow:none}
.hero-search-panel .form-control:focus,.hero-search-panel .form-select:focus{box-shadow:0 0 0 .2rem rgba(49,182,74,.16)}
.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-stat-icon{color:var(--dg-blue);width:1.05em;text-align:center}
.property-card .property-stat-icon{color:var(--dg-blue)}
.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}.hero-discovery{min-height:520px;background-position:center}.hero-discovery h1{font-size:clamp(2.25rem,10vw,3.4rem);line-height:1.05}.hero-search-panel{padding:10px!important}.hero-search-panel .form-control,.hero-search-panel .form-select{min-height:50px}.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}

/* ---- Offline status pill + banners (v22) ---- */
#dgPill{position:fixed;left:14px;bottom:14px;z-index:1080;display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border-radius:999px;background:#0b2852;color:#fff;font-size:.78rem;font-weight:600;text-decoration:none;box-shadow:0 .4rem 1.2rem rgba(11,40,82,.35);opacity:.92}
#dgPill:hover{opacity:1;color:#fff}
#dgPill .dg-pill-dot{width:9px;height:9px;border-radius:50%;background:#20c997}
#dgPill.dg-pill-offline{background:#8a1c1c}#dgPill.dg-pill-offline .dg-pill-dot{background:#ffc107}
#dgPill.dg-pill-pending [data-dg-global-queue]{color:#ffd966}
#dgPill .dg-pill-sep{opacity:.5}
@media print{#dgPill,#dgCacheBanner,#dgAuthBanner{display:none!important}}
