:root{--nm-primary:#1d4ed8;--nm-primary-dark:#1e3a8a;--nm-primary-light:#3b82f6;--nm-accent:#f59e0b;--nm-accent-dark:#d97706;--nm-success:#059669;--nm-info:#0891b2;--nm-ink:#0f172a;--nm-slate:#334155;--nm-muted:#64748b;--nm-bg:#f1f5f9;--nm-surface:#fff;--nm-border:#e2e8f0;--nm-radius:.75rem;--nm-radius-lg:1.25rem;--nm-shadow-sm:0 1px 3px #0f172a14;--nm-shadow:0 10px 30px -12px #0f172a2e;--nm-shadow-lg:0 20px 45px -15px #0f172a40;--nm-grad:linear-gradient(135deg, #0f172a 0%, #1e3a8a 55%, #1d4ed8 100%);--nm-grad-soft:linear-gradient(135deg, #eef2ff 0%, #f0f9ff 100%);--nm-header-h:64px;--nm-bottom-nav-h:64px}html{-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--nm-bg);color:var(--nm-slate);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Inter,Segoe UI,Roboto,system-ui,-apple-system,sans-serif;display:flex}@media (width<=991.98px){body{padding-bottom:calc(var(--nm-bottom-nav-h) + env(safe-area-inset-bottom))}}.main-content{flex-direction:column;flex:1;min-height:100vh;display:flex}.text-muted-nm{color:var(--nm-muted)}.bg-nm{background-color:var(--nm-bg)}.text-nm-ink{color:var(--nm-ink)}.btn{border-radius:.6rem}.btn-nm-primary{background:var(--nm-primary);color:#fff;border:none;font-weight:600;transition:all .2s;box-shadow:0 6px 16px -8px #1d4ed899}.btn-nm-primary:hover,.btn-nm-primary:focus{background:var(--nm-primary-dark);color:#fff;transform:translateY(-1px)}.btn-nm-accent{background:var(--nm-accent);color:#fff;border:none;font-weight:600;box-shadow:0 6px 16px -8px #f59e0b99}.btn-nm-accent:hover,.btn-nm-accent:focus{background:var(--nm-accent-dark);color:#fff}.btn-nm-outline{border:1.5px solid var(--nm-primary);color:var(--nm-primary);font-weight:600}.btn-nm-outline:hover{background:var(--nm-primary);color:#fff}.badge{border-radius:999px;padding:.4em .75em;font-weight:600}.badge-offre-vente{background:var(--nm-primary);color:#fff}.badge-offre-location{background:var(--nm-accent);color:#fff}.badge-statut-en_ligne{color:#15803d;background:#dcfce7}.badge-statut-en_attente{color:#b45309;background:#fef3c7}.badge-statut-vendu,.badge-statut-loue{color:#7e22ce;background:#f3e8ff}.card{border:1px solid var(--nm-border);border-radius:var(--nm-radius);box-shadow:var(--nm-shadow-sm)}.card-nm-hover{transition:transform .25s,box-shadow .25s}.card-nm-hover:hover{box-shadow:var(--nm-shadow);transform:translateY(-6px)}.alert{border-radius:var(--nm-radius);border:none}.alert-flash{box-shadow:var(--nm-shadow-sm);border-left:4px solid #0000}@media (width>=992px){.nm-sidebar{z-index:1040;background:var(--nm-grad);flex-direction:column;width:264px;padding:1.5rem 1rem;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.nm-sidebar .brand,.nm-agency-sidebar .brand{color:#fff;align-items:center;gap:.75rem;padding:.25rem .75rem 1.5rem;text-decoration:none;display:flex}.nm-sidebar .brand .brand-logo,.nm-agency-sidebar .brand .brand-logo{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:14px;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.nm-sidebar .brand .brand-name,.nm-agency-sidebar .brand .brand-name{letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.nm-sidebar .nav-label,.nm-agency-sidebar .nav-label{color:#ffffff73;text-transform:uppercase;letter-spacing:.12em;padding:.75rem .85rem .5rem;font-size:.7rem;font-weight:700}.nm-sidebar .nav-link-nm,.nm-agency-sidebar .nav-link-nm{color:#ffffffc7;border-radius:.6rem;align-items:center;gap:.8rem;margin-bottom:.2rem;padding:.7rem .85rem;font-weight:500;text-decoration:none;transition:all .18s;display:flex;position:relative}.nm-sidebar .nav-link-nm i,.nm-agency-sidebar .nav-link-nm i{text-align:center;width:22px;font-size:1.05rem}.nm-sidebar .nav-link-nm:hover,.nm-agency-sidebar .nav-link-nm:hover{color:#fff;background:#ffffff14}.nm-sidebar .nav-link-nm.active,.nm-agency-sidebar .nav-link-nm.active{color:#fff;background:#ffffff24;font-weight:600}.nm-sidebar .nav-link-nm.active:before,.nm-agency-sidebar .nav-link-nm.active:before{content:"";background:var(--nm-accent);border-radius:99px;width:4px;position:absolute;top:20%;bottom:20%;left:0}.nm-sidebar .sidebar-footer{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:1rem}.nm-main-push{margin-left:264px}}.nm-mobile-header{z-index:1030;background:var(--nm-grad);color:#fff;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 4px 14px #0f172a2e}.nm-mobile-header .brand{color:#fff;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.nm-mobile-header .btn-icon{color:#fff;background:#ffffff1f;border:1px solid #fff3;border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.1rem;text-decoration:none;display:grid}.nm-bottom-nav{z-index:1040;border-top:1px solid var(--nm-border);height:calc(var(--nm-bottom-nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0f172a14}.nm-bottom-nav .bn-item{color:var(--nm-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.nm-bottom-nav .bn-item i{font-size:1.25rem}.nm-bottom-nav .bn-item-btn{flex:1;margin:0;display:flex}.nm-bottom-nav .bn-item-btn .bn-item-btn-inner{color:var(--nm-muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;width:100%;padding:0;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.nm-bottom-nav .bn-item-btn .bn-item-btn-inner i{font-size:1.25rem}.nm-bottom-nav .bn-item-btn .bn-item-btn-inner:hover,.nm-bottom-nav .bn-item.active,.nm-bottom-nav .bn-item:hover{color:var(--nm-primary);font-weight:600}.nm-bottom-nav .bn-action{position:relative}.nm-bottom-nav .bn-action .fab{background:var(--nm-grad);color:#fff;border:4px solid #fff;border-radius:50%;place-items:center;width:52px;height:52px;margin-top:-22px;font-size:1.35rem;display:grid;box-shadow:0 10px 22px -8px #1d4ed8b3}@media (width<=991.98px){.d-lg-none-inline{display:inline-block!important}}.nm-hero{background:var(--nm-grad);color:#fff;border-radius:var(--nm-radius-lg);box-shadow:var(--nm-shadow-lg);margin-bottom:2.5rem;padding:clamp(2rem,5vw,4.5rem) clamp(1.25rem,4vw,4rem);position:relative;overflow:hidden}.nm-hero:before{content:"";pointer-events:none;background:radial-gradient(600px 260px at 85% -10%,#ffffff24,#0000 60%),radial-gradient(500px 300px at 8% 115%,#3b82f659,#0000 60%);position:absolute;inset:0}.nm-hero .hero-heading{letter-spacing:-.025em;margin-bottom:.9rem;font-size:clamp(1.7rem,4.5vw,2.9rem);font-weight:800;line-height:1.15}.nm-hero .hero-sub{color:#ffffffd1;max-width:620px;margin-bottom:1.6rem;font-size:clamp(.95rem,2vw,1.15rem)}.nm-search-box{box-shadow:var(--nm-shadow);z-index:1;background:#fff;border-radius:1rem;padding:.9rem;position:relative}.nm-search-box .form-control,.nm-search-box .form-select{border:1px solid var(--nm-border);border-radius:.7rem;padding:.7rem .9rem;font-size:.95rem}.nm-stats{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width>=768px){.nm-stats{grid-template-columns:repeat(4,1fr)}}.nm-stat{border:1px solid var(--nm-border);border-radius:var(--nm-radius);text-align:center;box-shadow:var(--nm-shadow-sm);background:#fff;padding:1.1rem}.nm-stat .stat-value{color:var(--nm-ink);font-size:1.6rem;font-weight:800;line-height:1.2}.nm-stat .stat-label{color:var(--nm-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:500}.nm-cats{scrollbar-width:none;gap:.75rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.nm-cats::-webkit-scrollbar{display:none}.nm-cat-chip{border:1px solid var(--nm-border);color:var(--nm-slate);box-shadow:var(--nm-shadow-sm);background:#fff;border-radius:999px;flex:none;padding:.55rem 1.15rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .18s}.nm-cat-chip i{color:var(--nm-primary);margin-right:.4rem}.nm-cat-chip:hover{background:var(--nm-primary);border-color:var(--nm-primary);color:#fff}.nm-cat-chip:hover i{color:#fff}.nm-prop-card{border-radius:var(--nm-radius);border:1px solid var(--nm-border);box-shadow:var(--nm-shadow-sm);height:100%;color:inherit;background:#fff;flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.nm-prop-card:hover{box-shadow:var(--nm-shadow);color:inherit;transform:translateY(-6px)}.nm-prop-card .pc-img{aspect-ratio:4/3;background:#e2e8f0;position:relative;overflow:hidden}.nm-prop-card .pc-img img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.nm-prop-card:hover .pc-img img{transform:scale(1.07)}.nm-prop-card .pc-badge{position:absolute;top:10px;left:10px}.nm-prop-card .pc-price{position:absolute;bottom:10px;left:10px;right:10px}.nm-prop-card .pc-body{flex:1;padding:1rem 1rem 1.15rem}.nm-prop-card .pc-title{color:var(--nm-ink);white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;font-weight:700;overflow:hidden}.nm-prop-card .pc-loc{color:var(--nm-muted);margin:.2rem 0 .8rem;font-size:.83rem}.nm-prop-card .pc-feats{color:var(--nm-slate);border-top:1px solid var(--nm-border);align-items:center;gap:1rem;padding-top:.75rem;font-size:.82rem;display:flex}.nm-prop-card .pc-feats span{align-items:center;gap:.35rem;display:inline-flex}.nm-price{color:var(--nm-ink);font-size:1.05rem;font-weight:800}.nm-section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.nm-section-head h2{color:var(--nm-ink);letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,3vw,1.6rem);font-weight:800}.nm-section-head .bar{background:var(--nm-accent);border-radius:99px;width:44px;height:4px;margin-top:.35rem}.nm-cta{background:var(--nm-grad);border-radius:var(--nm-radius-lg);color:#fff;text-align:center;margin-top:3rem;padding:clamp(2rem,4vw,3.2rem);position:relative;overflow:hidden}.nm-cta h2{letter-spacing:-.02em;font-weight:800}.nm-cta p{color:#fffc}.nm-footer{background:var(--nm-ink);color:#ffffffb3;margin-top:auto;padding:2.5rem 0 1.25rem}.nm-footer h6{color:#fff;font-weight:700}.nm-footer a{color:#ffffffb3;text-decoration:none}.nm-footer a:hover{color:#fff}.nm-footer .footer-brand{color:#fff;font-size:1.25rem;font-weight:800}.nm-footer .footer-bottom{border-top:1px solid #ffffff1f;margin-top:1.75rem;padding-top:1.25rem;font-size:.85rem}.nm-auth-wrap{min-height:calc(100vh - var(--nm-header-h));justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.nm-auth-card{border-radius:var(--nm-radius-lg);box-shadow:var(--nm-shadow-lg);border:1px solid var(--nm-border);background:#fff;width:100%;max-width:480px;padding:clamp(1.6rem,4vw,2.5rem)}.nm-auth-card .auth-brand{color:var(--nm-ink);justify-content:center;align-items:center;gap:.65rem;margin-bottom:1.5rem;font-size:1.35rem;font-weight:800;text-decoration:none;display:flex}.nm-auth-card .form-control{border-color:var(--nm-border);border-radius:.7rem;padding:.75rem 1rem}.nm-auth-card .input-group-text{border-radius:.7rem 0 0 .7rem}@media (width>=992px){.nm-agency-sidebar{z-index:1040;background:linear-gradient(#0b1220 0%,#111c33 100%);flex-direction:column;width:272px;padding:1.4rem 1rem;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.nm-agency-main{margin-left:272px}}.nm-agency-topbar{border-bottom:1px solid var(--nm-border);z-index:1025;background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.5rem;display:flex;position:sticky;top:0}.nm-agency-topbar .page-title{color:var(--nm-ink);margin:0;font-size:1.05rem;font-weight:800}@media (width<=991.98px){.nm-agency-topbar{padding:.7rem 1rem}}.nm-kpi{border-radius:var(--nm-radius);border:1px solid var(--nm-border);box-shadow:var(--nm-shadow-sm);background:#fff;align-items:center;gap:1rem;height:100%;padding:1.25rem;display:flex}.nm-kpi .kpi-icon{border-radius:16px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:1.35rem;display:grid}.nm-kpi .kpi-value{color:var(--nm-ink);font-size:1.6rem;font-weight:800;line-height:1.1}.nm-kpi .kpi-label{color:var(--nm-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.kpi-bg-green{color:#15803d;background:#dcfce7}.kpi-bg-amber{color:#b45309;background:#fef3c7}.kpi-bg-purple{color:#7e22ce;background:#f3e8ff}.kpi-bg-blue{color:#1d4ed8;background:#dbeafe}.table-nm thead th{text-transform:uppercase;letter-spacing:.08em;color:var(--nm-muted);white-space:nowrap;background:#f8fafc;border-bottom-width:1px;font-size:.72rem}.table-nm tbody td{vertical-align:middle;border-color:var(--nm-border)}.nm-mobile-list-item{border:1px solid var(--nm-border);border-radius:var(--nm-radius);box-shadow:var(--nm-shadow-sm);background:#fff;align-items:center;gap:.85rem;margin-bottom:.85rem;padding:.9rem;display:flex}.nm-mobile-list-item img{object-fit:cover;border-radius:.6rem;flex-shrink:0;width:84px;height:66px}.nm-form-card{border-radius:var(--nm-radius);border:1px solid var(--nm-border);box-shadow:var(--nm-shadow-sm);background:#fff;padding:clamp(1rem,2.5vw,1.5rem)}.nm-form-card .card-header{border-bottom:1px solid var(--nm-border);background:#fff;border-radius:var(--nm-radius) var(--nm-radius) 0 0!important;padding:1.1rem 1.3rem!important}.nm-form-card .form-control,.nm-form-card .form-select{border-color:var(--nm-border);border-radius:.65rem;padding:.65rem .85rem!important}.nm-form-card .table th:first-child,.nm-form-card .table td:first-child{padding-left:.5rem}.nm-form-card .table th:last-child,.nm-form-card .table td:last-child{padding-right:.5rem}.nm-main-push .form-control:not(.form-control-sm):not(.form-control-lg),.nm-main-push .form-select:not(.form-select-sm):not(.form-select-lg){border-color:var(--nm-border);padding:.7rem .95rem}.nm-main-push .form-control:not(.form-control-sm):not(.form-control-lg):not(.input-group .form-control),.nm-main-push .form-select:not(.form-select-sm):not(.form-select-lg):not(.input-group .form-select){border-radius:.65rem}.form-label-nm{text-transform:uppercase;letter-spacing:.06em;color:var(--nm-muted);margin-bottom:.4rem;font-size:.75rem;font-weight:700}.offcanvas-nm{background:#fff;border-radius:1.25rem 1.25rem 0 0}.offcanvas-nm .offcanvas-header{border-bottom:1px solid var(--nm-border)}@media (width>=768px){.offcanvas-nm{border-radius:0}}.pagination .page-link{color:var(--nm-primary);border:1px solid var(--nm-border);border-radius:.5rem;margin:0 .15rem;font-weight:500}.pagination .page-item.active .page-link{background:var(--nm-primary);border-color:var(--nm-primary);color:#fff}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.nm-fade-up{animation:.5s both fadeUp}
