
:root{
  --navy:#0a2443;--navy2:#071c34;--blue:#2768d8;--bg:#f4f7fb;--border:#dfe6ef;
  --text:#172033;--muted:#6f7c91;--white:#fff;--danger:#e53d3d;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:#0f5ed7;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{width:238px;background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;position:fixed;left:0;top:0;bottom:0;padding:20px 14px;overflow:auto}
.brand{display:flex;gap:12px;align-items:center;margin:0 8px 28px}.brand-icon{font-size:32px;color:#ffbd19}.brand strong{font-size:21px}.brand span,.top-actions small,.profile small{display:block;font-size:12px;color:#aebdd1;margin-top:2px}
.nav-section{font-size:11px;color:#69a9ff;margin:20px 10px 8px}.sidebar a{display:flex;gap:10px;align-items:center;color:#fff;padding:10px 12px;border-radius:7px;font-size:14px}.sidebar a.active{background:#2e69d0}.collapse{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding:20px 12px;font-size:13px}
.main{margin-left:238px;width:calc(100% - 238px)}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 26px;gap:22px;position:sticky;top:0;z-index:3}.menu-btn{background:none;border:0;font-size:22px}.search{width:425px;border:1px solid var(--border);padding:12px 16px;border-radius:8px;color:#9aa5b5}.top-actions{margin-left:auto;display:flex;gap:28px;align-items:center}.bell{position:relative;font-size:22px}.bell b{position:absolute;right:-7px;top:-8px;background:#e33737;color:#fff;font-size:10px;border-radius:50%;padding:3px 5px}.profile{display:flex;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#d7dde8;display:grid;place-items:center;font-weight:700}
.content{padding:24px 28px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-head h1{font-size:27px;margin:0}.page-actions{display:flex;gap:12px}.btn{border-radius:8px;padding:11px 16px;border:1px solid var(--border);font-weight:600}.btn-primary{background:#2866d3;color:#fff;border-color:#2866d3}.btn-light{background:#fff}.panel{background:#fff;border:1px solid var(--border);border-radius:10px}.welcome{padding:18px}.welcome h2{margin:0 0 6px}.welcome p{margin:0 0 20px;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.kpi{display:flex;gap:14px;border:1px solid #dde6f4;border-radius:10px;padding:14px}.kpi-icon{width:54px;height:54px;border-radius:10px;display:grid;place-items:center;font-size:26px}.kpi span,.kpi small{display:block}.kpi strong{display:block;font-size:25px;margin:3px 0}.kpi a{display:block;margin-top:10px;font-size:12px}.kpi.blue{background:#f5f8ff}.kpi.blue .kpi-icon{background:#dce8ff;color:#2866d3}.kpi.green{background:#f4fbf7}.kpi.green .kpi-icon{background:#dcefe1;color:#2a9a52}.kpi.orange{background:#fffaf0}.kpi.orange .kpi-icon{background:#ffefc7;color:#e79b00}.kpi.purple{background:#fbf8ff}.kpi.purple .kpi-icon{background:#eadcff;color:#8b39d8}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.metric{padding:18px;min-height:150px;position:relative}.metric h3,.list-card h3,.bottom-grid h3{margin:0 0 14px;font-size:15px}.big{font-size:25px;font-weight:800}.big small{font-size:16px}.metric em{font-size:12px;background:#dcf5df;color:#2c9b4d;border-radius:16px;padding:4px 8px;font-style:normal}.metric p{color:var(--muted);font-size:12px}.danger{color:var(--danger)}.spark{position:absolute;right:24px;top:53px;font-size:35px}.greenline{color:#2eaa5a}.redline{color:#ee4a4a}.occupancy{display:flex;justify-content:space-between;align-items:center}.donut{width:76px;height:76px;border-radius:50%;background:conic-gradient(#2866d3 0 81%,#e6ebf2 81%);position:relative}.donut:after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.middle .panel{min-height:295px}.list-card{padding:16px}.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e9edf3;font-size:12px}.row b{display:block}.row small{display:block;color:var(--muted);margin-top:4px}.grow{flex:1}.date{width:40px;height:44px;border:1px solid var(--border);border-radius:6px;display:grid;place-items:center;line-height:1}.date b{font-size:17px}.date span{font-size:9px}.right{text-align:right}.pill{display:inline-block;padding:4px 8px;border-radius:7px;font-size:10px;margin-top:5px}.bluepill{background:#e6edff;color:#2f65d2}.done{background:#ddf3e3;color:#2e9b53}.progress{background:#fff0d1;color:#b27500}.footer-link{display:block;margin-top:14px;font-size:12px}.alert-icon,.tool-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800}.alert-icon.red{background:#ffe6e6;color:#e33}.alert-icon.amber{background:#fff0d8;color:#dc8b00}.alert-icon.info,.tool-icon{background:#eaf1ff;color:#2866d3}
.bottom-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-top:14px}.bottom-grid>.panel{padding:16px}.types{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.types>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px}.types span{grid-row:1/4;width:34px;height:34px;border-radius:8px;background:#edf3ff;color:#2866d3;display:grid;place-items:center}.types strong{font-size:18px}.types small{color:var(--muted)}.docrow{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e9edf3;padding:9px 0;font-size:12px}.docrow div{flex:1}.docrow small{display:block;color:var(--muted);margin-top:4px}.docrow button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px 9px}.pdf,.doc{font-size:9px;padding:8px 5px;border-radius:6px;color:#fff}.pdf{background:#ea3e3e}.doc{background:#2968d7}.docs>a{font-size:12px;display:block;margin-top:10px}
footer{font-size:11px;color:#7d8999;margin:25px 4px 0;display:flex;justify-content:space-between}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.three-grid{grid-template-columns:1fr 1fr}.bottom-grid{grid-template-columns:1fr}.search{width:300px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%)}.main{margin-left:0;width:100%}.top-actions>div:first-child{display:none}.search{flex:1;width:auto}.content{padding:16px}.page-head{align-items:flex-start;gap:12px}.page-actions{flex-direction:column}.kpi-grid,.three-grid{grid-template-columns:1fr}.types{grid-template-columns:repeat(2,1fr)}footer{display:block}footer span{display:block;margin-top:8px}}

/* Sprint 0 auth/setup */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f4f7fb}.auth-card{width:100%;max-width:460px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:30px;box-shadow:0 14px 40px rgba(23,32,51,.08)}.auth-card.wide{max-width:700px}.auth-card h1{margin:10px 0}.auth-card p{color:#6f7c91}.auth-brand{display:flex;gap:10px;align-items:center;font-size:22px;font-weight:800;color:#0a2443}.auth-brand span{color:#ffbd19;font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:700;font-size:13px;margin:15px 0 7px}input,select{width:100%;padding:12px 13px;border:1px solid #d6deea;border-radius:8px;background:#fff;font:inherit}.full-btn{width:100%;margin-top:22px}.alert{padding:12px 14px;border-radius:8px;margin:15px 0}.alert-danger{background:#feecec;color:#a51d1d}.org-card{display:flex;align-items:center;justify-content:space-between;border:1px solid #dfe6ef;padding:16px;border-radius:10px;background:#fafcff;margin:10px 0}.org-card small{display:block;color:#6f7c91;margin-top:4px}.logout-btn{width:100%;margin-top:22px;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:transparent;color:#fff;cursor:pointer}.empty-dashboard{margin-top:14px;padding:22px}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* Owners V1 */
.page-sub{color:var(--muted);margin:5px 0 0}.owner-toolbar{padding:14px;margin-bottom:14px}.owner-filter{display:grid;grid-template-columns:1fr 180px auto;gap:10px}.owners-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid #e9edf3;text-align:left;font-size:13px;vertical-align:middle}.data-table th{background:#f8fafc;color:#627085;font-size:12px}.data-table td small{display:block;color:var(--muted);margin-top:4px}.btn-mini{padding:7px 10px;background:#fff;color:#1f4f9f;margin-left:5px}.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.status-active{background:#def4e5;color:#258246}.status-inactive{background:#fff0d6;color:#996000}.status-archived{background:#e9edf3;color:#677386}.empty-state{text-align:center;padding:55px 20px}.form-page{background:#f4f7fb;min-height:100vh}.form-shell{max-width:900px;margin:0 auto;padding:35px 20px}.wide-shell{max-width:1100px}.owner-detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.owner-detail-head h1{margin:8px 0 4px}.owner-detail-head p{color:var(--muted);margin:0}.form-panel{padding:24px}.form-panel h3{margin:26px 0 6px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.hidden{display:none!important}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-card,.detail-section{padding:20px}.detail-section{margin-top:14px}.detail-card h3,.detail-section h3{margin-top:0}.detail-card dl{display:grid;grid-template-columns:120px 1fr;gap:10px;margin:0}.detail-card dt{color:var(--muted)}.detail-card dd{margin:0;font-weight:600}.upload-box{display:grid;grid-template-columns:180px 1fr 1.1fr auto;gap:12px;align-items:end;background:#f8fafc;border:1px dashed #cdd7e6;border-radius:10px;padding:14px}.doc-list{margin-top:15px}.doc-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e9edf3}.doc-item small{display:block;color:var(--muted);margin-top:4px}.empty-inline{padding:20px;background:#f8fafc;border-radius:8px;color:var(--muted)}.muted-note{color:var(--muted);font-size:12px}
@media(max-width:760px){.owner-filter,.detail-grid,.upload-box{grid-template-columns:1fr}.data-table{min-width:850px}}

/* NIMBARENT OWNERS UI V1.1 */
.page-sub{color:var(--muted);margin:6px 0 0;font-size:14px}
.owner-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.owner-summary-card{padding:18px}
.owner-summary-card span{display:block;font-size:13px;color:#526076;margin-bottom:7px}
.owner-summary-card strong{display:block;font-size:27px;color:#172033}
.owner-summary-card small{display:block;color:var(--muted);margin-top:5px}
.owner-toolbar{padding:14px;margin-bottom:14px}
.owner-filter{display:grid;grid-template-columns:minmax(280px,1fr) 180px auto;gap:10px}
.owners-table-wrap{overflow:hidden}
.data-table{width:100%;border-collapse:collapse}
.data-table thead th{padding:13px 16px;background:#f7f9fc;border-bottom:1px solid #dfe6ef;text-align:left;color:#657287;font-size:11px;text-transform:uppercase;letter-spacing:.02em}
.data-table tbody td{padding:15px 16px;border-bottom:1px solid #e9edf3;font-size:13px;vertical-align:middle}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#fbfcfe}
.data-table td small{display:block;color:var(--muted);margin-top:4px}
.actions-cell{white-space:nowrap;text-align:right}
.btn-mini{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;font-size:11px;background:#fff;color:#2459a9;border:1px solid #dce4ef;border-radius:7px;margin-left:5px}
.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:700;text-transform:capitalize}
.status-active{background:#def4e5;color:#258246}
.status-inactive{background:#fff0d6;color:#996000}
.status-archived{background:#e9edf3;color:#677386}
.empty-state{text-align:center;padding:65px 20px}
.empty-icon{width:58px;height:58px;margin:0 auto 15px;border-radius:14px;display:grid;place-items:center;background:#eaf1ff;color:#2866d3;font-size:26px}
.empty-state h3{margin:0 0 7px}
.empty-state p{color:var(--muted);margin:0 0 18px}
.form-shell{max-width:960px;margin:0 auto;padding:6px 0 25px}
.wide-shell{max-width:1100px}
.form-shell>h1{margin:10px 0 18px}
.form-panel{padding:24px}
.form-panel h3{margin:28px 0 8px;padding-bottom:8px;border-bottom:1px solid #edf0f5}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}
.owner-detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.owner-detail-head h1{margin:8px 0 4px}
.owner-detail-head p{color:var(--muted);margin:0}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.detail-card,.detail-section{padding:20px}
.detail-section{margin-top:14px}
.detail-card h3,.detail-section h3{margin-top:0}
.detail-card dl{display:grid;grid-template-columns:120px 1fr;gap:11px;margin:0}
.detail-card dt{color:var(--muted)}
.detail-card dd{margin:0;font-weight:600}
.upload-box{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:12px;align-items:end;background:#f8fafc;border:1px dashed #cdd7e6;border-radius:10px;padding:14px}
.doc-list{margin-top:15px}
.doc-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e9edf3}
.doc-item small{display:block;color:var(--muted);margin-top:4px}
.empty-inline{padding:20px;background:#f8fafc;border-radius:8px;color:var(--muted)}
.muted-note{color:var(--muted);font-size:12px}
.hidden{display:none!important}

@media(max-width:1100px){.owner-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
.owner-summary-grid,.owner-filter,.detail-grid,.upload-box{grid-template-columns:1fr}
.owners-table-wrap{overflow:auto}
.data-table{min-width:850px}
.owner-detail-head{gap:15px;flex-direction:column}
}

/* NIMBARENT PROPERTIES V1 */
.property-owner-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px 16px}
@media(max-width:760px){.property-owner-grid{grid-template-columns:1fr}}

/* NIMBARENT GLOBAL SIDEBAR V1 */
.sidebar{
    display:flex;
    flex-direction:column;
    min-height:100vh;
}
.sidebar nav{
    flex:1;
    overflow-y:auto;
    padding-bottom:18px;
}
.sidebar .nav-section{
    margin-top:16px;
}
.sidebar-logout{
    padding:12px 14px 18px;
    margin-top:auto;
}
.sidebar-logout .logout-btn{
    width:100%;
}
.sidebar a{
    text-decoration:none;
}
.sidebar a.active{
    background:#2f6fd6;
    color:#fff;
}
@media(max-height:800px){
    .sidebar nav{
        max-height:calc(100vh - 165px);
    }
}

/* NIMBARENT SIDEBAR SCROLLBAR FIX V1 */
.sidebar nav{
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.28) transparent;
}

.sidebar nav::-webkit-scrollbar{
    width:5px;
}

.sidebar nav::-webkit-scrollbar-track{
    background:transparent;
}

.sidebar nav::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.28);
    border-radius:10px;
}

.sidebar nav::-webkit-scrollbar-thumb:hover{
    background:rgba(255,255,255,.42);
}

/* La sidebar elle-même ne doit pas afficher une seconde scrollbar */
.sidebar{
    overflow:hidden;
}

/* NIMBARENT SIDEBAR SCROLLBAR FIX V2 */
/* Le menu reste scrollable mais aucune barre visible */

.sidebar{
    overflow:hidden !important;
}

.sidebar nav{
    overflow-y:auto !important;
    overflow-x:hidden !important;

    scrollbar-width:none !important;       /* Firefox */
    -ms-overflow-style:none !important;    /* ancien Edge */
}

.sidebar nav::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
}



/* ================================================================
   NIMBARENT GLOBAL UPLOAD V1
   ================================================================ */

.nr-upload-native{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    overflow:hidden !important;
}

.nr-upload{
    width:100%;
    margin-top:6px;
}

.nr-upload-dropzone{
    position:relative;
    width:100%;
    min-height:170px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:7px;

    padding:24px;

    border:2px dashed #cbd5e1;
    border-radius:12px;

    background:#f8fafc;

    text-align:center;

    cursor:pointer;

    transition:
        border-color .15s ease,
        background .15s ease,
        transform .15s ease;
}

.nr-upload-dropzone:hover{
    border-color:#2866d3;
    background:#f3f7ff;
}

.nr-upload-dropzone.is-dragging{
    border-color:#2866d3;
    background:#edf4ff;
    transform:scale(1.005);
}

.nr-upload-icon{
    width:44px;
    height:44px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#eaf1ff;
    color:#2866d3;

    font-size:22px;
    font-weight:800;
}

.nr-upload-title{
    font-size:15px;
    font-weight:800;
    color:#172033;
}

.nr-upload-subtitle{
    font-size:13px;
    color:#64748b;
}

.nr-upload-meta{
    margin-top:4px;
    font-size:11px;
    color:#94a3b8;
}

.nr-upload-list{
    display:grid;
    grid-template-columns:
        repeat(auto-fill,minmax(160px,1fr));

    gap:10px;

    margin-top:12px;
}

.nr-upload-file{
    position:relative;

    min-width:0;

    border:1px solid #dfe5ed;
    border-radius:10px;

    background:#fff;

    overflow:hidden;
}

.nr-upload-file-preview{
    height:115px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#f8fafc;

    overflow:hidden;
}

.nr-upload-file-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.nr-upload-file-icon{
    font-size:28px;
    color:#64748b;
}

.nr-upload-file-info{
    padding:9px 10px 10px;
}

.nr-upload-file-name{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    font-size:12px;
    font-weight:700;

    color:#172033;
}

.nr-upload-file-size{
    margin-top:3px;

    font-size:11px;
    color:#94a3b8;
}

.nr-upload-remove{
    position:absolute;

    top:6px;
    right:6px;

    width:26px;
    height:26px;

    display:grid;
    place-items:center;

    border:0;
    border-radius:50%;

    background:rgba(15,23,42,.82);
    color:#fff;

    font-size:15px;

    cursor:pointer;
}

.nr-upload-counter{
    margin-top:10px;

    font-size:12px;
    font-weight:700;

    color:#475569;
}

.nr-upload-empty{
    display:none;
}

@media(max-width:600px){

    .nr-upload-dropzone{
        min-height:145px;
        padding:20px 14px;
    }

    .nr-upload-list{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .nr-upload-file-preview{
        height:105px;
    }
}

@media(max-width:380px){

    .nr-upload-list{
        grid-template-columns:1fr;
    }
}


/* ================================================================
   FIN NIMBARENT GLOBAL UPLOAD V1
   ================================================================ */


/* ================================================================
   NIMBARENT UX MVP V1
   ================================================================ */

.nr-nav-icon{
    width:22px;
    min-width:22px;
    display:inline-flex;
    justify-content:center;
    opacity:.9;
}

.nr-sidebar-close{
    display:none;
    margin-left:auto;
    border:0;
    background:transparent;
    color:#fff;
    font-size:25px;
    cursor:pointer;
}

.nr-sidebar-overlay{
    display:none;
}


/* --- actions rapides dashboard --- */

.nr-quick-wrap{
    margin:0 0 20px;
}

.nr-quick-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:12px;
}

.nr-quick-head h2{
    margin:0;
    font-size:17px;
}

.nr-quick-head span{
    font-size:12px;
    color:var(--muted);
}

.nr-quick-grid{
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:12px;
}

.nr-quick-action{
    display:flex;
    align-items:center;
    gap:12px;

    min-height:78px;

    padding:14px 15px;

    border:1px solid #dce4ef;
    border-radius:11px;

    background:#fff;

    color:#172033;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.nr-quick-action:hover{
    border-color:#b9cae3;
    box-shadow:0 8px 22px rgba(23,32,51,.06);
    transform:translateY(-1px);
}

.nr-quick-action-icon{
    width:42px;
    height:42px;
    min-width:42px;

    display:grid;
    place-items:center;

    border-radius:10px;

    background:#edf4ff;
    color:#2866d3;

    font-size:20px;
}

.nr-quick-action strong{
    display:block;
    font-size:13px;
}

.nr-quick-action small{
    display:block;

    margin-top:4px;

    color:#7a8799;
    font-size:11px;
}


/* --- mobile --- */

@media(max-width:980px){

    .nr-quick-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}


@media(max-width:760px){

    body.nr-sidebar-open{
        overflow:hidden;
    }

    .sidebar{
        width:min(300px,86vw);

        transform:translateX(-105%);

        transition:
            transform .22s ease;

        z-index:1001;
    }

    body.nr-sidebar-open .sidebar{
        transform:translateX(0);
    }

    .nr-sidebar-overlay{
        position:fixed;
        inset:0;

        z-index:1000;

        background:rgba(15,23,42,.48);
    }

    body.nr-sidebar-open
    .nr-sidebar-overlay{
        display:block;
    }

    .nr-sidebar-close{
        display:block;
    }

    .brand{
        margin-bottom:18px;
    }

    .topbar{
        height:60px;
        padding:0 13px;
        gap:10px;
    }

    .menu-btn{
        display:block;
        min-width:36px;
        font-size:23px;
        cursor:pointer;
    }

    .search{
        min-width:0;
        padding:10px 11px;
    }

    .content{
        padding:14px;
    }

    .page-head{
        flex-direction:column;
        align-items:stretch;
    }

    .page-head h1{
        font-size:23px;
    }

    .page-actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }

    .page-actions .btn{
        width:100%;
        text-align:center;
    }

    .nr-quick-wrap{
        margin-bottom:16px;
    }

    .nr-quick-head{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

    .nr-quick-grid{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .nr-quick-action{
        min-height:86px;
        padding:12px;
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .nr-quick-action-icon{
        width:35px;
        height:35px;
        min-width:35px;
        font-size:17px;
    }
}


@media(max-width:420px){

    .nr-quick-grid{
        grid-template-columns:1fr;
    }

    .nr-quick-action{
        flex-direction:row;
        align-items:center;
        min-height:68px;
    }
}


/* ================================================================
   FIN NIMBARENT UX MVP V1
   ================================================================ */


/* ================================================================
   NIMBARENT MOBILE SIDEBAR UX V2
   ================================================================ */

@media(max-width:760px){

    .sidebar{
        display:flex !important;
        flex-direction:column !important;

        height:100dvh !important;
        min-height:100dvh !important;

        padding:0 !important;

        overflow:hidden !important;

        background:
            linear-gradient(
                180deg,
                var(--navy),
                var(--navy2)
            );
    }


    /*
    |--------------------------------------------------------------------------
    | En-tête menu fixe
    |--------------------------------------------------------------------------
    */

    .sidebar .brand{
        flex:0 0 auto;

        min-height:76px;

        margin:0 !important;
        padding:16px 16px 14px;

        border-bottom:
            1px solid rgba(255,255,255,.09);

        background:
            rgba(7,28,52,.96);

        position:relative;
        z-index:2;
    }

    .sidebar .brand-icon{
        font-size:27px;
    }

    .sidebar .brand strong{
        font-size:19px;
    }

    .sidebar .brand span{
        font-size:11px;
    }

    .nr-sidebar-close{
        width:36px;
        height:36px;

        display:grid !important;
        place-items:center;

        padding:0;

        border-radius:9px;

        background:
            rgba(255,255,255,.08);

        font-size:24px;
        line-height:1;
    }


    /*
    |--------------------------------------------------------------------------
    | Navigation = seule zone scrollable
    |--------------------------------------------------------------------------
    */

    .sidebar nav{
        flex:1 1 auto !important;

        min-height:0 !important;

        max-height:none !important;

        overflow-y:auto !important;
        overflow-x:hidden !important;

        padding:
            10px 12px
            24px !important;

        -webkit-overflow-scrolling:touch;

        overscroll-behavior:contain;

        scrollbar-width:none !important;
    }

    .sidebar nav::-webkit-scrollbar{
        display:none !important;
        width:0 !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Sections plus propres
    |--------------------------------------------------------------------------
    */

    .sidebar .nav-section{
        margin:
            15px 10px 6px !important;

        font-size:10px;
        font-weight:800;

        letter-spacing:.08em;

        color:#72aefc;
    }

    .sidebar nav a{
        min-height:43px;

        margin:2px 0;

        padding:10px 12px !important;

        border-radius:9px !important;

        font-size:13px !important;

        gap:9px !important;
    }

    .sidebar nav a.active{
        background:#2f6fd6 !important;

        box-shadow:
            0 5px 16px
            rgba(0,0,0,.13);
    }

    .nr-nav-icon{
        width:21px;
        min-width:21px;
    }


    /*
    |--------------------------------------------------------------------------
    | Déconnexion toujours visible
    |--------------------------------------------------------------------------
    */

    .sidebar-logout{
        flex:0 0 auto !important;

        margin:0 !important;

        padding:
            12px 14px
            calc(12px + env(safe-area-inset-bottom))
            !important;

        border-top:
            1px solid rgba(255,255,255,.10);

        background:
            rgba(7,28,52,.98);

        box-shadow:
            0 -8px 20px
            rgba(0,0,0,.08);

        position:relative;
        z-index:3;
    }

    .sidebar-logout .logout-btn{
        width:100%;

        min-height:44px;

        margin:0 !important;

        display:flex;
        align-items:center;
        justify-content:center;

        border:
            1px solid rgba(255,255,255,.18);

        border-radius:9px;

        background:
            rgba(255,255,255,.07);

        color:#fff;

        font-size:13px;
        font-weight:700;

        cursor:pointer;
    }

    .sidebar-logout .logout-btn:active{
        background:
            rgba(255,255,255,.13);
    }


    /*
    |--------------------------------------------------------------------------
    | Overlay
    |--------------------------------------------------------------------------
    */

    .nr-sidebar-overlay{
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
    }

}


/* ================================================================
   FIN MOBILE SIDEBAR UX V2
   ================================================================ */


/* ================================================================
   NIMBARENT LOCATAIRES MOBILE CARDS V1
   ================================================================ */

.nr-tenants-mobile{
    display:none;
}

@media(max-width:760px){

    .nr-tenants-desktop{
        display:none !important;
    }

    .nr-tenants-mobile{
        display:block;
        margin-top:12px;
    }

    .nr-mobile-tenant-card{
        background:#fff;
        border:1px solid #dfe6ef;
        border-radius:12px;
        padding:15px;
        margin-bottom:12px;
    }

    .nr-mobile-tenant-head{
        display:flex;
        justify-content:space-between;
        align-items:flex-start;
        gap:12px;
        margin-bottom:13px;
    }

    .nr-mobile-tenant-name{
        display:block;
        font-size:16px;
        color:#172033;
    }

    .nr-mobile-tenant-ref{
        margin-top:3px;
        color:#7a8799;
        font-size:11px;
    }

    .nr-mobile-tenant-info{
        display:grid;
        gap:10px;
        margin-bottom:14px;
    }

    .nr-mobile-tenant-info div{
        padding-bottom:9px;
        border-bottom:1px solid #edf0f4;
    }

    .nr-mobile-tenant-info span{
        display:block;
        color:#7a8799;
        font-size:10px;
        margin-bottom:3px;
    }

    .nr-mobile-tenant-info strong{
        display:block;
        font-size:13px;
        overflow-wrap:anywhere;
    }

    .nr-mobile-tenant-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .nr-mobile-tenant-actions .btn{
        text-align:center;
        width:100%;
    }

    .nr-mobile-empty{
        padding:20px;
        background:#fff;
        border:1px solid #dfe6ef;
        border-radius:12px;
        color:#64748b;
        text-align:center;
    }

}

@media(max-width:420px){

    .nr-mobile-tenant-actions{
        grid-template-columns:1fr;
    }

}


/* ================================================================
   FIN LOCATAIRES MOBILE CARDS V1
   ================================================================ */


/* ================================================================
   NIMBARENT BAUX MOBILE CARDS V1
   ================================================================ */

.nr-leases-mobile{
    display:none;
}

@media(max-width:760px){

    .nr-leases-desktop{
        display:none !important;
    }

    .nr-leases-mobile{
        display:block;
        padding:0;
    }

    .panel.nr-table-wrap{
        padding:0;
        border:0;
        background:transparent;
        overflow:visible;
    }

    .nr-mobile-lease-card{
        background:#fff;
        border:1px solid #dfe6ef;
        border-radius:12px;
        padding:15px;
        margin-bottom:12px;
    }

    .nr-mobile-lease-head{
        display:flex;
        justify-content:space-between;
        align-items:flex-start;
        gap:12px;
        margin-bottom:14px;
    }

    .nr-mobile-lease-reference{
        display:block;
        font-size:16px;
        color:#172033;
    }

    .nr-mobile-lease-tenant{
        margin-top:3px;
        font-size:12px;
        color:#64748b;
    }

    .nr-mobile-lease-status{
        display:inline-flex;
        flex:0 0 auto;

        padding:5px 9px;

        border-radius:999px;

        background:#eef2ff;
        color:#4338ca;

        font-size:10px;
        font-weight:800;
    }

    .nr-mobile-lease-status.status-active{
        background:#ecfdf3;
        color:#067647;
    }

    .nr-mobile-lease-status.status-terminated{
        background:#f1f5f9;
        color:#475569;
    }

    .nr-mobile-lease-status.status-cancelled{
        background:#fef2f2;
        color:#b42318;
    }

    .nr-mobile-lease-property{
        display:flex;
        gap:10px;
        align-items:center;

        padding:12px;

        border-radius:9px;

        background:#f8fafc;

        margin-bottom:12px;
    }

    .nr-mobile-lease-property-icon{
        width:36px;
        height:36px;
        min-width:36px;

        display:grid;
        place-items:center;

        border-radius:9px;

        background:#eaf1ff;
        color:#2866d3;

        font-size:17px;
    }

    .nr-mobile-lease-property span{
        display:block;
        color:#64748b;
        font-size:10px;
        margin-bottom:3px;
    }

    .nr-mobile-lease-property strong{
        display:block;
        font-size:13px;
    }

    .nr-mobile-lease-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:9px;

        margin-bottom:13px;
    }

    .nr-mobile-lease-grid div{
        padding:10px;

        border:1px solid #edf0f4;
        border-radius:8px;

        background:#fff;
    }

    .nr-mobile-lease-grid span{
        display:block;
        color:#7a8799;
        font-size:10px;
        margin-bottom:4px;
    }

    .nr-mobile-lease-grid strong{
        display:block;
        font-size:13px;
    }

    .nr-mobile-lease-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .nr-mobile-lease-actions .btn{
        width:100%;
        text-align:center;
    }

}


@media(max-width:420px){

    .nr-mobile-lease-grid,
    .nr-mobile-lease-actions{
        grid-template-columns:1fr;
    }

}


/* ================================================================
   FIN BAUX MOBILE CARDS V1
   ================================================================ */


/* ================================================================
   NIMBARENT MOBILE ACTIONS OVERFLOW FIX V1
   ================================================================ */

@media(max-width:760px){

    html,
    body{
        max-width:100%;
        overflow-x:hidden;
    }

    .main,
    .content,
    .panel,
    .nr-mobile-tenant-card,
    .nr-mobile-lease-card{
        min-width:0 !important;
        max-width:100% !important;
    }

    .nr-mobile-tenant-actions,
    .nr-mobile-lease-actions{
        width:100%;
        min-width:0;

        display:grid !important;
        grid-template-columns:1fr !important;

        gap:8px;
    }

    .nr-mobile-tenant-actions .btn,
    .nr-mobile-lease-actions .btn{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;

        display:flex;
        align-items:center;
        justify-content:center;

        white-space:normal;
        overflow-wrap:anywhere;

        text-align:center;

        margin:0 !important;
    }

}

@media(min-width:600px) and (max-width:760px){

    .nr-mobile-tenant-actions,
    .nr-mobile-lease-actions{
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}


/* ================================================================
   FIN MOBILE ACTIONS OVERFLOW FIX V1
   ================================================================ */


/* ================================================================
   NIMBARENT TENANT SHOW MOBILE OVERFLOW FIX V1
   ================================================================ */

@media(max-width:760px){

    .nr-tenant-shell,
    .nr-tenant-grid,
    .nr-tenant-grid > div,
    .nr-tenant-card,
    .nr-current-lease,
    .nr-current-lease-top,
    .nr-lease-data,
    .nr-inline-actions,
    .nr-details,
    .nr-table-wrap,
    .nr-tenant-table{
        min-width:0 !important;
        max-width:100% !important;
        width:100% !important;
        box-sizing:border-box !important;
    }


    .nr-tenant-shell{
        overflow-x:hidden !important;
    }


    .nr-tenant-card{
        overflow:hidden !important;
    }


    .nr-current-lease-top{
        flex-direction:column !important;
        align-items:flex-start !important;
    }


    .nr-current-lease-top > div{
        min-width:0 !important;
        max-width:100% !important;
    }


    .nr-current-lease h3,
    .nr-current-unit,
    .nr-current-property,
    .nr-detail strong,
    .nr-history-row strong,
    .nr-history-row small{
        overflow-wrap:anywhere !important;
        word-break:break-word !important;
    }


    .nr-lease-data{
        grid-template-columns:1fr !important;
    }


    .nr-inline-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
    }


    .nr-inline-actions .btn{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        white-space:normal !important;
        text-align:center !important;
        margin:0 !important;
    }


    .nr-table-wrap{
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch;
    }


    .nr-tenant-table{
        min-width:0 !important;
        table-layout:fixed !important;
    }


    .nr-tenant-table th,
    .nr-tenant-table td{
        white-space:normal !important;
        overflow-wrap:anywhere !important;
        word-break:break-word !important;
    }


    .nr-history-row{
        flex-direction:column !important;
        align-items:flex-start !important;
    }


    .nr-history-row > div{
        width:100% !important;
        max-width:100% !important;
        text-align:left !important;
    }

}


/* ================================================================
   FIN TENANT SHOW MOBILE OVERFLOW FIX V1
   ================================================================ */


/* ================================================================
   NIMBARENT PAIEMENTS MOBILE UX V1
   ================================================================ */

@media(max-width:760px){

    /* sécurité générale */

    .nr-pay-panel,
    .nr-pay-table-wrap,
    .nr-payment-form,
    .nr-payment-grid{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    .nr-pay-panel{
        overflow:hidden;
    }

    .nr-pay-table-wrap{
        overflow:visible !important;
    }


    /* ============================================================
       ECHEANCES
       Le tableau devient une série de cartes.
       ============================================================ */

    .nr-schedules-table,
    .nr-schedules-table tbody,
    .nr-schedules-table tr,
    .nr-schedules-table td{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .nr-schedules-table thead{
        display:none !important;
    }

    .nr-schedules-table{
        border:0 !important;
        background:transparent !important;
    }

    .nr-schedules-table tr{
        background:#fff;
        border:1px solid #e1e7ef;
        border-radius:12px;
        margin-bottom:12px;
        padding:14px;
        overflow:hidden;
    }

    /*
     * Le second TR de chaque échéance contient le formulaire.
     * Il reste séparé mais visuellement rattaché.
     */

    .nr-schedules-table tr:has(.nr-payment-form){
        margin-top:-13px;
        padding:0 14px 14px;
        border-top:0;
        border-radius:0 0 12px 12px;
    }

    .nr-schedules-table td{
        border:0 !important;
        padding:7px 0 !important;
        white-space:normal !important;
        overflow-wrap:anywhere;
    }

    .nr-schedules-table td:nth-child(1){
        padding-bottom:11px !important;
        border-bottom:1px solid #edf1f5 !important;
        margin-bottom:5px;
    }

    .nr-schedules-table td:nth-child(2){
        font-size:15px;
    }

    .nr-schedules-table td:nth-child(3),
    .nr-schedules-table td:nth-child(4){
        color:#475569;
        font-size:13px;
    }

    /*
     * Loyer / payé / reste
     */

    .nr-schedules-table td:nth-child(5),
    .nr-schedules-table td:nth-child(6),
    .nr-schedules-table td:nth-child(7){
        display:flex !important;
        align-items:center;
        justify-content:space-between;
        gap:10px;

        padding:8px 10px !important;
        margin:4px 0;

        border-radius:8px !important;
        background:#f8fafc;
    }

    .nr-schedules-table td:nth-child(5)::before{
        content:"Loyer";
        color:#64748b;
        font-size:11px;
        font-weight:600;
    }

    .nr-schedules-table td:nth-child(6)::before{
        content:"Payé";
        color:#64748b;
        font-size:11px;
        font-weight:600;
    }

    .nr-schedules-table td:nth-child(7)::before{
        content:"Reste";
        color:#64748b;
        font-size:11px;
        font-weight:700;
    }

    .nr-schedules-table td:nth-child(8){
        padding-top:10px !important;
    }

    .nr-schedules-table td:nth-child(9){
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px;

        padding-top:10px !important;
    }

    .nr-schedules-table td:nth-child(9) a,
    .nr-schedules-table td:nth-child(9) button{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        display:flex !important;
        align-items:center;
        justify-content:center;

        box-sizing:border-box !important;

        margin:0 !important;

        white-space:normal !important;
        text-align:center;
    }


    /* formulaire paiement */

    .nr-payment-form{
        padding:12px !important;
        margin-top:4px;

        border-radius:9px;

        overflow:hidden;
    }

    .nr-payment-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .nr-payment-grid > *,
    .nr-field{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .nr-payment-grid input,
    .nr-payment-grid select,
    .nr-payment-grid button{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }


    /* ============================================================
       HISTORIQUE DES PAIEMENTS
       ============================================================ */

    .nr-history-table,
    .nr-history-table tbody,
    .nr-history-table tr,
    .nr-history-table td{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .nr-history-table thead{
        display:none !important;
    }

    .nr-history-table{
        border:0 !important;
        background:transparent !important;
    }

    .nr-history-table tr{
        background:#fff;
        border:1px solid #e1e7ef;
        border-radius:12px;

        padding:14px;
        margin-bottom:12px;

        overflow:hidden;
    }

    .nr-history-table td{
        border:0 !important;
        padding:6px 0 !important;

        white-space:normal !important;
        overflow-wrap:anywhere;
    }

    .nr-history-table td:nth-child(1){
        color:#64748b;
        font-size:12px;
    }

    .nr-history-table td:nth-child(2){
        padding-bottom:10px !important;
        margin-bottom:5px;

        border-bottom:1px solid #edf1f5 !important;

        font-size:15px;
    }

    .nr-history-table td:nth-child(3)::before{
        content:"Locataire : ";
        color:#64748b;
        font-size:11px;
    }

    .nr-history-table td:nth-child(4)::before{
        content:"Logement : ";
        color:#64748b;
        font-size:11px;
    }

    .nr-history-table td:nth-child(5)::before{
        content:"Bail : ";
        color:#64748b;
        font-size:11px;
    }

    .nr-history-table td:nth-child(6){
        margin-top:7px;
        padding:10px !important;

        border-radius:8px !important;
        background:#f8fafc;

        font-size:15px;
    }

    .nr-history-table td:nth-child(6)::before{
        content:"Montant : ";
        color:#64748b;
        font-size:11px;
        font-weight:600;
    }

    .nr-history-table td:nth-child(7){
        padding-top:10px !important;
    }

    .nr-history-table td:nth-child(8){
        padding-top:10px !important;
    }

    .nr-history-table td:nth-child(8) a{
        width:100% !important;
        max-width:100% !important;

        display:flex !important;
        align-items:center;
        justify-content:center;

        box-sizing:border-box !important;

        white-space:normal !important;
        text-align:center;
    }

}


/* ================================================================
   FIN NIMBARENT PAIEMENTS MOBILE UX V1
   ================================================================ */


/* ================================================================
   NIMBARENT PAIEMENTS MOBILE UX V2
   ================================================================ */

@media(max-width:760px){

    /*
    |--------------------------------------------------------------------------
    | Structure générale
    |--------------------------------------------------------------------------
    */

    .nr-pay-panel{
        padding:14px !important;
        border-radius:12px !important;
    }

    .nr-pay-panel h2{
        font-size:17px !important;
        margin-bottom:14px !important;
    }


    /*
    |--------------------------------------------------------------------------
    | KPI
    |--------------------------------------------------------------------------
    */

    .nr-payment-kpis{
        grid-template-columns:1fr 1fr !important;
        gap:9px !important;
    }

    .nr-payment-kpi{
        padding:13px !important;
        min-width:0 !important;
    }

    .nr-payment-kpi span{
        font-size:10px !important;
    }

    .nr-payment-kpi strong{
        font-size:18px !important;
        overflow-wrap:anywhere;
    }


    /*
    |--------------------------------------------------------------------------
    | Carte échéance
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table tr.nr-schedule-row{
        padding:13px !important;
        margin-bottom:10px !important;

        border-radius:12px !important;

        box-shadow:
            0 3px 10px
            rgba(15,23,42,.035);
    }

    .nr-schedules-table
    tr.nr-schedule-row
    td{
        padding:4px 0 !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Date + bail
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(1){

        padding-bottom:9px !important;
        margin-bottom:7px !important;

        display:flex !important;
        justify-content:space-between;
        align-items:flex-start;
        gap:10px;
    }

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(1) strong{
        font-size:14px;
    }

    .nr-schedules-table
    .nr-muted{
        font-size:10px !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Locataire
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(2){

        padding-top:3px !important;
        padding-bottom:9px !important;
    }

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(2) strong{
        font-size:15px;
        color:#172033;
    }


    /*
    |--------------------------------------------------------------------------
    | Logement + Bien compact
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(3),
    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(4){

        padding:3px 0 !important;

        color:#64748b !important;

        font-size:11px !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Bloc financier
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(5),
    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(6),
    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(7){

        min-height:39px;

        margin:4px 0 !important;

        padding:8px 10px !important;

        background:#f8fafc !important;

        border:1px solid #edf1f5 !important;

        border-radius:8px !important;
    }

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(7){

        background:#fff7ed !important;
        border-color:#fed7aa !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Statut
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(8){

        padding:8px 0 7px !important;
    }

    .nr-schedules-table
    .nr-status{

        display:inline-flex !important;
        align-items:center;

        padding:6px 10px !important;

        border-radius:999px !important;

        font-size:10px !important;
        font-weight:800 !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Actions
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(9){

        margin-top:4px;

        display:grid !important;

        grid-template-columns:1fr 1fr !important;

        gap:7px !important;
    }

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(9) a,

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(9) button{

        min-height:40px !important;

        padding:9px 10px !important;

        border-radius:8px !important;

        font-size:11px !important;
        font-weight:700 !important;

        white-space:normal !important;
    }

    .nr-schedules-table
    .nr-pay-btn{

        background:#2866d3 !important;
        color:#fff !important;
    }

    .nr-schedules-table
    .nr-pay-btn:disabled{

        opacity:.45;
        cursor:not-allowed;
    }


    /*
    |--------------------------------------------------------------------------
    | Formulaire paiement
    |--------------------------------------------------------------------------
    */

    .nr-schedules-table
    tr.nr-schedule-form-row{

        margin:
            -10px 0
            12px !important;

        padding:0 !important;

        border:0 !important;

        background:transparent !important;
    }

    .nr-schedule-form-row > td{

        padding:0 !important;
        border:0 !important;
    }

    .nr-payment-form{

        margin:0 !important;

        padding:0 !important;

        border:0 !important;

        background:transparent !important;
    }

    .nr-payment-form.active{

        margin-top:7px !important;

        padding:14px !important;

        border:1px solid #dbe4ef !important;

        border-radius:11px !important;

        background:#f8fafc !important;

        box-shadow:
            0 5px 15px
            rgba(15,23,42,.05);
    }

    .nr-payment-grid{

        gap:10px !important;
    }

    .nr-field label{

        font-size:11px !important;
        font-weight:700 !important;

        margin-bottom:5px !important;
    }

    .nr-field input,
    .nr-field select{

        min-height:42px !important;

        padding:9px 10px !important;

        border-radius:8px !important;

        font-size:13px !important;
    }

    .nr-payment-form
    .nr-pay-btn{

        width:100% !important;

        min-height:44px !important;

        border-radius:8px !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Historique compact
    |--------------------------------------------------------------------------
    */

    .nr-history-table tr{

        padding:12px !important;
        margin-bottom:9px !important;
    }

    .nr-history-table td{

        padding:4px 0 !important;

        font-size:12px !important;
    }

    .nr-history-table td:nth-child(2){

        font-size:14px !important;
    }

    .nr-history-table td:nth-child(6){

        margin-top:5px !important;

        padding:8px !important;

        font-size:13px !important;
    }

    .nr-history-table td:nth-child(8) a{

        min-height:40px;

        padding:9px !important;

        border-radius:8px !important;
    }

}


@media(max-width:420px){

    .nr-payment-kpis{
        grid-template-columns:1fr 1fr !important;
    }

    .nr-schedules-table
    tr.nr-schedule-row
    td:nth-child(9){

        grid-template-columns:1fr !important;
    }

}


/* ================================================================
   FIN NIMBARENT PAIEMENTS MOBILE UX V2
   ================================================================ */


/* ================================================================
   NIMBARENT PAYMENT FORM TOGGLE FIX V1
   ================================================================ */

.nr-payment-form{
    display:none !important;
}

.nr-payment-form.active{
    display:block !important;
}

.nr-payment-submit-actions{
    display:flex;
    gap:8px;
    align-items:center;
}

.nr-payment-cancel{
    border:1px solid #d7dde5;
    background:#fff;
    color:#475569;

    border-radius:7px;

    padding:10px 14px;

    font-weight:700;
    cursor:pointer;
}


@media(max-width:760px){

    /*
     * Lorsque le formulaire est fermé,
     * sa ligne entière disparaît.
     */

    .nr-schedule-form-row:not(:has(.nr-payment-form.active)){
        display:none !important;
    }

    .nr-schedule-form-row:has(.nr-payment-form.active){
        display:block !important;
    }

    .nr-payment-form.active{
        display:block !important;
    }

    .nr-payment-submit-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
        width:100%;
    }

    .nr-payment-submit-actions
    .nr-pay-btn,

    .nr-payment-submit-actions
    .nr-payment-cancel{
        width:100% !important;
        max-width:100% !important;

        min-height:43px;

        box-sizing:border-box;

        display:flex;
        align-items:center;
        justify-content:center;

        margin:0 !important;
    }
}


/* ================================================================
   FIN PAYMENT FORM TOGGLE FIX V1
   ================================================================ */

/* NIMBARENT V2 TEST UI REFRESH 2026-10-27 */
:root{--v2-ink:#15243b;--v2-muted:#718096;--v2-line:#e4ebf2;--v2-canvas:#f2f5f9;--v2-accent:#ee8150;--v2-shadow:0 14px 36px rgba(20,39,67,.08)}
html,body{background:var(--v2-canvas)!important;color:var(--v2-ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}
.sidebar,.nrSidebar{background:linear-gradient(165deg,#101d31,#172943 60%,#1c3651)!important;color:#e8eef6!important;border:0!important;box-shadow:10px 0 35px rgba(13,29,49,.09)}
.sidebar .brand,.nrSidebar .brand{padding:12px 12px 26px!important;color:#fff!important}.brand-icon{background:linear-gradient(145deg,#ffad70,#e86c3b)!important;border-radius:15px!important;box-shadow:0 8px 20px rgba(239,135,80,.28)}
.sidebar .nav-section,.nrSidebar .nav-section{margin:18px 12px 8px!important;color:#8798ad!important;font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important}
.sidebar nav a,.nrSidebar nav a,.sidebar>a,.nrSidebar>a{display:flex;align-items:center;gap:12px;margin:3px 8px;padding:11px 12px!important;border:1px solid transparent!important;border-radius:12px!important;color:#bdc9d8!important;font-size:13px!important;font-weight:600!important;transition:.18s ease}
.sidebar nav a:hover,.nrSidebar nav a:hover,.sidebar>a:hover,.nrSidebar>a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;transform:translateX(2px)}
.sidebar nav a.active,.nrSidebar nav a.active,.sidebar a.active,.nrSidebar a.active{background:linear-gradient(100deg,rgba(239,135,80,.24),rgba(239,135,80,.1))!important;border-color:rgba(255,173,112,.2)!important;color:#fff!important;box-shadow:inset 3px 0 #f39a66}
.nr-nav-icon{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:rgba(255,255,255,.07)!important;color:#e7edf5!important}
.content{min-height:100vh;background:var(--v2-canvas)!important;padding:30px clamp(20px,3vw,46px) 54px!important;color:var(--v2-ink)!important}
.topbar{position:sticky;top:0;z-index:20;min-height:68px!important;padding:12px clamp(20px,3vw,46px)!important;background:rgba(248,250,253,.94)!important;border-bottom:1px solid var(--v2-line)!important;backdrop-filter:blur(14px)}
.search{min-height:42px!important;padding:0 14px!important;border:1px solid #e0e7ef!important;border-radius:12px!important;background:#fff!important;color:#718096!important;box-shadow:0 2px 8px rgba(21,36,59,.04)}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:8px 0 26px!important;padding:0 0 22px;border-bottom:1px solid var(--v2-line)}
.page-head h1,.page-head h2{margin:0 0 7px!important;color:var(--v2-ink)!important;font-size:clamp(29px,3vw,39px)!important;font-weight:760!important;letter-spacing:-.045em!important;line-height:1.12}.page-head p,.page-head .muted{margin:0!important;color:var(--v2-muted)!important;font-size:14px!important;line-height:1.6}
.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.panel{border:1px solid var(--v2-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--v2-shadow)!important;overflow:hidden}.panel h2,.panel h3{color:var(--v2-ink)!important;letter-spacing:-.025em}
.nr-table-wrap{border:1px solid var(--v2-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--v2-shadow)!important;overflow:auto!important}.nr-table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff!important}.nr-table thead th,.nr-table th{padding:15px 18px!important;background:#f7f9fc!important;border-bottom:1px solid var(--v2-line)!important;color:#718096!important;font-size:10px!important;font-weight:800!important;letter-spacing:.11em!important;text-transform:uppercase!important;white-space:nowrap}.nr-table td{padding:17px 18px!important;border-bottom:1px solid #edf1f5!important;color:#405168!important;font-size:13px!important;vertical-align:middle!important}.nr-table tbody tr:hover{background:#f8fafc!important}.nr-table tbody tr:last-child td{border-bottom:0!important}.nr-table a{color:#183a58!important;font-weight:750!important;text-decoration:none!important}.nr-table a:hover{color:#d96534!important}
.nr-badge{display:inline-flex!important;align-items:center;padding:6px 10px!important;border:1px solid #dceee9!important;border-radius:999px!important;background:#eff8f5!important;color:#247462!important;font-size:11px!important;font-weight:750!important;white-space:nowrap}
.btn,button,.button{border-radius:11px!important;font-family:inherit!important;font-weight:700!important;transition:transform .16s ease,box-shadow .16s ease}.btn:hover,button:hover,.button:hover{transform:translateY(-1px)}.btn-primary,.btn.btn-primary{padding:11px 16px!important;border:1px solid #ee8150!important;border-radius:11px!important;background:linear-gradient(135deg,#f39b65,#e97843)!important;color:#fff!important;box-shadow:0 8px 18px rgba(231,120,67,.22)!important;font-weight:750!important}.btn-light,.btn-secondary{border:1px solid #dfe7ef!important;border-radius:11px!important;background:#fff!important;color:#344b63!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:42px;border:1px solid #dbe4ed!important;border-radius:11px!important;background:#fff!important;color:var(--v2-ink)!important;font:inherit!important;padding:10px 12px!important}input:focus,select:focus,textarea:focus{outline:3px solid rgba(23,126,120,.14)!important;border-color:#55a79f!important}label{color:#405168;font-weight:650}
.welcome.panel{background:radial-gradient(circle at 88% 12%,rgba(239,135,80,.26),transparent 30%),linear-gradient(125deg,#15243b,#1d3e56)!important;color:#fff!important;border:0!important;box-shadow:0 20px 40px rgba(21,36,59,.2)!important}.welcome.panel h1,.welcome.panel h2,.welcome.panel h3,.welcome.panel p{color:#fff!important}
@media(max-width:900px){.content{padding:22px 18px 40px!important}.topbar{padding:10px 18px!important}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:30px!important}.panel,.nr-table-wrap{border-radius:15px!important}}
@media(max-width:560px){.content{padding:18px 14px 32px!important}.topbar{min-height:58px!important;padding:8px 14px!important}.search{min-height:38px!important;font-size:12px}.page-head{margin-bottom:18px!important;padding-bottom:16px}.page-actions{width:100%}.page-actions .btn{flex:1;justify-content:center}.nr-table td{padding:13px 12px!important}}

