/* ================================================================
   GENIUS PROPERTY — CSS BUNDLE
   Fusion des styles/style-01.css à styles/style-49.css
   Généré automatiquement — ne pas éditer manuellement
   Thème (variables) → theme.css
================================================================ */

/* ── style-01.css ── */
/* =================================================================
   GENIUS PROPERTY — v5.1 SaaS Edition
   Corrections: 2026-04 — docx.js → CDN, Inter font, dark mode fixes
   Architecture: SPA monofichier, prêt pour migration vers back-end
================================================================= */
/* ========== ROOT ========== */
:root{
  --font-body:'Inter',system-ui,sans-serif;
  --gold:#D4AF37;
  --gold-bg:#fff8e5;
  --black:#0F0F0F;
  --gray:#f2f2f2;
  --green:#16a34a;
  --red:#dc2626;
  --blue:#2563eb;
  --sidebar-w:200px;
  --sidebar-bg:#f2f2f2;
  --line:#e9edf3;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Inter',system-ui,sans-serif}
body{background:var(--gray)}
body.dark{background:#121212;color:#e5e5e5}

/* ========== LAYOUT ========== */
.app-wrap{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);padding:12px 10px;color:#16191f;flex-shrink:0;display:flex;flex-direction:column;min-height:100vh;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:100;border-right:1px solid var(--line)}
body.dark .sidebar{background:#1a1a1a;border-right-color:#2a2a38}

/* ---- LOGO BRAND ---- */
.logo{display:flex;align-items:center;justify-content:center;padding:4px 4px 12px;margin-bottom:4px;border-bottom:1px solid var(--line);transition:.15s;cursor:default}
.logo:hover{opacity:.85}
.logo-icon{width:28px;height:28px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#111;flex-shrink:0}
.logo-text{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:-2px!important;
  min-width:0!important;
  overflow:hidden!important;
  line-height:0.9!important;
}
.logo-name{
  display:block!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#16191f;
  white-space:nowrap;
  line-height:0.95;
  overflow:hidden;
  text-overflow:ellipsis;
}
.logo-sub{
  display:block!important;
  font-size:9.5px!important;
  font-weight:600!important;
  color:#9ca3af;
  white-space:nowrap;
  line-height:0.95;
  letter-spacing:.3px;
  text-transform:uppercase;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.dark .logo-name{color:#eee}
body.dark .logo-sub{color:#6b7280}
body.dark .logo-name{color:#eee!important}

.menu{list-style:none;margin-top:4px;display:flex;flex-direction:column;gap:2px}
.menu li{display:flex;align-items:center;gap:7px;padding:4px 8px;font-size:11px;color:#555d6b;border-radius:7px;cursor:pointer;transition:background .15s,color .15s;font-weight:600}
.menu li span{font-size:16px;color:#9ca3af;transition:color .15s;flex-shrink:0}
.menu li:hover{background:#ebebeb;color:#16191f}
.menu li:hover span{color:#374151}
.menu li.active{background:var(--gold-bg);color:var(--gold)}
.menu li.active span{color:var(--gold)}
body.dark .menu li{color:#9ca3af}
body.dark .menu li:hover{background:#2a2a38;color:#eee}
body.dark .menu li:hover span{color:#eee}
body.dark .menu li.active{background:rgba(212,175,55,.15);color:var(--gold)}
body.dark .menu li.active span{color:var(--gold)}
.logout{margin-top:auto;color:var(--red)!important}
.logout:hover{background:rgba(220,38,38,.08)!important;color:#b91c1c!important}

/* ── Support card — page Paramètres ── */
.cfg-support-card{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:#fff;border-radius:14px;padding:16px 18px;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  margin-bottom:12px;flex-wrap:wrap;
}
body.dark .cfg-support-card{background:#1e1e1e}
.cfg-support-left{display:flex;align-items:center;gap:12px}
.cfg-support-icon{
  width:40px;height:40px;border-radius:10px;flex-shrink:0;
  background:var(--gold-bg);
  display:flex;align-items:center;justify-content:center;
}
.cfg-support-icon .material-symbols-rounded{font-size:18px;color:var(--gold)}
.cfg-support-title{font-size:13px;font-weight:700;color:#16191f;margin-bottom:2px}
body.dark .cfg-support-title{color:#eee}
.cfg-support-desc{font-size:11px;color:#6b7280;line-height:1.4}
.cfg-support-btn{
  display:flex;align-items:center;gap:7px;
  background:var(--gold);color:#111;
  border:none;border-radius:9px;
  padding:9px 16px;font-size:12px;font-weight:700;
  cursor:pointer;font-family:inherit;white-space:nowrap;
  transition:background .15s,box-shadow .15s;flex-shrink:0;
}
.cfg-support-btn:hover{background:#c4a030;box-shadow:0 3px 10px rgba(212,175,55,.4)}
.cfg-support-btn .material-symbols-rounded{font-size:15px}
.cfg-support-contacts{display:flex;flex-direction:column;gap:4px;margin-top:7px}
.cfg-support-contact-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#6b7280}
.cfg-support-contact-item .material-symbols-rounded{font-size:13px;color:#9ca3af;flex-shrink:0}
.cfg-support-contact-item a{color:var(--gold);text-decoration:none;font-weight:600}
.cfg-support-contact-item a:hover{text-decoration:underline}
body.dark .cfg-support-contact-item{color:#9ca3af}

/* ========== MAIN CONTENT ========== */
.content{flex:1;padding:15px;background:var(--gray);transition:.2s;margin-left:var(--sidebar-w);min-height:100vh}
body.dark .content{background:#121212}
body.dark .topbar{background:#121212;box-shadow:0 1px 6px rgba(0,0,0,.3)}
.content{padding-top:78px !important}

/* ========== TOPBAR ========== */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:4px;position:fixed;top:0;right:0;left:var(--sidebar-w);z-index:50;background:var(--sidebar-bg);padding:10px 15px;box-shadow:0 1px 0 var(--line)}
.topbar h2,.page-header h2{font-size:18px;font-weight:700}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:4px;margin-top:14px}


/* Icon pills */
.top-icons{display:flex;align-items:center;gap:4px}
.tb-icon-btn{width:28px;height:28px;border-radius:8px;border:none;background:white;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:.18s;box-shadow:0 1px 3px rgba(0,0,0,.07);position:relative}
.tb-icon-btn:hover{background:var(--gold);color:#000;box-shadow:0 2px 8px rgba(212,175,55,.35)}
body.dark .tb-icon-btn{background:#1e1e1e;color:#9ca3af;box-shadow:0 1px 4px rgba(0,0,0,.3)}
body.dark .tb-icon-btn:hover{background:var(--gold);color:#000}
.tb-icon-btn .material-symbols-rounded{font-size:15px;pointer-events:none}

/* Notification dot */
.tb-notif-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--red);border:1.5px solid white}
body.dark .tb-notif-dot{border-color:#1e1e1e}

/* Divider */
.tb-sep{width:1px;height:20px;background:#e5e7eb;margin:0 4px;border-radius:1px}
body.dark .tb-sep{background:#2a2a38}

/* User pill */
.user-box{position:relative;display:flex;align-items:center;gap:8px;margin-left:6px;cursor:pointer;background:white;border-radius:12px;padding:5px 10px 5px 5px;box-shadow:0 1px 4px rgba(0,0,0,.07);transition:.18s;border:1px solid transparent}
.user-box:hover{border-color:var(--gold);box-shadow:0 2px 10px rgba(212,175,55,.2)}
body.dark .user-box{background:#1e1e1e;box-shadow:0 1px 4px rgba(0,0,0,.3)}

/* Avatar circle */
.user-avatar{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--gold),#c4a030);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#000;flex-shrink:0;overflow:hidden}
.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:8px}

.user-info{display:flex;flex-direction:column;line-height:1.2}
.user-name{font-size:12px;font-weight:700;color:#111}
body.dark .user-name{color:#eee}
.user-role{font-size:10px;color:#9ca3af;font-weight:500}

.user-chevron{font-size:14px!important;color:#9ca3af;transition:.2s}
.user-box:hover .user-chevron{color:var(--gold)}

.user-menu{position:absolute;top:calc(100% + 8px);right:0;background:white;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.13);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s;min-width:160px;z-index:100;overflow:hidden;border:1px solid #f0f0f0}
.user-menu.show{opacity:1;visibility:visible;transform:translateY(0)}
.user-menu-header{padding:12px 14px 8px;border-bottom:1px solid #f5f5f5;display:flex;align-items:center;gap:9px}
.user-menu-avatar{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--gold),#c4a030);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#000;overflow:hidden;flex-shrink:0}
.user-menu-avatar img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.user-menu-meta{display:flex;flex-direction:column;line-height:1.3}
.user-menu-name{font-size:12px;font-weight:700;color:#111}
.user-menu-email{font-size:10px;color:#9ca3af}
.user-menu div.menu-item{padding:8px 14px;font-size:13px;display:flex;gap:9px;cursor:pointer;align-items:center;color:#374151;transition:.12s}
.user-menu div.menu-item:hover{background:#fdf9ec;color:#000}
.user-menu div.menu-item .material-symbols-rounded{font-size:16px;color:#9ca3af}
.user-menu div.menu-item:hover .material-symbols-rounded{color:var(--gold)}
.user-menu .menu-divider{height:1px;background:#f5f5f5;margin:2px 0}
.user-menu .menu-item-danger{color:var(--red)!important}
.user-menu .menu-item-danger .material-symbols-rounded{color:var(--red)!important}
.user-menu .menu-item-danger:hover{background:#fff5f5!important}
body.dark .user-menu{background:#1e1e1e;border-color:#2a2a38}
body.dark .user-menu-header{border-color:#2a2a38}
body.dark .user-menu-name{color:#eee}
body.dark .user-menu div.menu-item{color:#ccc}
body.dark .user-menu div.menu-item:hover{background:#2a2a38;color:#fff}
body.dark .user-menu .menu-divider{background:#2a2a38}

/* ========== PAGES ========== */
.page{display:none}
.page.active{display:block;animation:fadeIn .2s ease}
.page.active.no-anim{animation:none}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ========== STAT CARDS ========== */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.stat-card{background:white;padding:14px;border-radius:10px;font-size:12px;border-left:4px solid var(--gold);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.stat-card h3{font-size:18px;margin-top:5px;font-weight:700}
.stat-card.success{border-color:var(--green)}
.stat-card.danger{border-color:var(--red)}
.stat-card.blue{border-color:var(--blue)}

.stats.small{grid-template-columns:repeat(4,1fr);margin-bottom:12px}
.mini-card{background:white;padding:10px;border-radius:10px;font-size:12px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.mini-card strong{display:block;font-size:16px;font-weight:700;margin-top:3px}
body.dark .mini-card{background:#1e1e1e}

/* ========== CHARTS ========== */
.charts{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}
.chart-box{background:white;padding:14px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.chart-box p{font-size:12px;color:#666;margin-bottom:8px;font-weight:600}
canvas{max-height:200px}
body.dark .chart-box{background:#1e1e1e}

/* ========== TABLE CONTAINER ========== */
.container{background:white;border-radius:10px;padding:18px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
body.dark .container{background:#1e1e1e}
.top-actions{display:flex;gap:10px;margin-bottom:16px}
.btn{border:none;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-family:inherit;transition:.15s}
.btn-primary{background:var(--gold);color:#000;font-weight:600}
.btn-primary:hover{background:#c4a030}
.btn-danger{background:var(--red);color:#fff}
.btn-danger:hover{background:#b91c1c}
.btn-blue{background:var(--blue);color:#fff}
.btn-back-lnk{
  display:inline-flex;align-items:center;gap:5px;
  background:#dbeafe;color:#1d4ed8;
  border-radius:8px;padding:4px 10px 4px 6px;
  font-size:11px;font-weight:600;
  border:1.5px solid #bfdbfe;
  cursor:pointer;text-decoration:none;
  transition:.15s;line-height:1.4;
}
.btn-back-lnk:hover{background:#bfdbfe;color:#1e40af;border-color:#93c5fd;}
.btn-back-lnk .material-symbols-rounded{font-size:14px!important;}

.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;flex-wrap:wrap;gap:8px}
select,input[type="search"],input[type="text"],input[type="number"],input[type="date"],input[type="email"],input[type="password"]{padding:6px 9px;border-radius:6px;border:1px solid #e5e7eb;font-size:13px;font-family:inherit;background:white;color:var(--text,#111)}
select:focus,input:focus{outline:none;border-color:var(--gold)}
body.dark select,body.dark input[type="search"],body.dark input[type="text"],body.dark input[type="number"],body.dark input[type="date"],body.dark input[type="email"],body.dark input[type="password"]{background:#2a2a38;border-color:#3a3a48;color:#e5e5e5}

table{width:100%;border-collapse:collapse;font-size:13px}
thead th{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;color:#555;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;background:#f9fafb}
body.dark thead th{background:#181824;color:#888;border-color:#2a2a38}
tbody td{padding:10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}
body.dark tbody td{border-color:#2a2a38}
tbody tr:hover{background:#fdf9ec}
body.dark tbody tr:hover{background:#1e1e2e}

.status{color:var(--green);font-weight:600}
.status.inactive{color:var(--red)}

.actions{display:flex;gap:6px}
.icon-btn{width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;transition:.15s}
.icon-view{background:#fef3c7;color:#92400e}
.icon-view:hover{background:var(--gold);color:#000}
.icon-edit{background:#dbeafe;color:#1e40af}
.icon-edit:hover{background:#3b82f6;color:#fff}
.icon-delete{background:#fee2e2;color:#991b1b}
.icon-delete:hover{background:var(--red);color:#fff}
.icon-report{background:#dcfce7;color:#166534}
.icon-report:hover{background:var(--green);color:#fff}
.icon-pay-hist{background:#ede9fe;color:#6d28d9}
.icon-pay-hist:hover{background:#7c3aed;color:#fff}
.icon-pdf{background:#fce7f3;color:#9d174d}
.icon-pdf:hover{background:#db2777;color:#fff}
.icon-download{background:#e0f2fe;color:#0369a1}
.icon-download:hover{background:#0284c7;color:#fff}

.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:#666}
.pagination{display:flex;gap:4px}
.pagination button{border:1px solid #e5e7eb;background:white;padding:4px 9px;cursor:pointer;border-radius:4px;font-size:12px;transition:.15s;font-family:inherit}
.pagination button.active,.pagination button:hover{background:var(--gold);color:#000;border-color:var(--gold)}
body.dark .pagination button{background:#1e1e1e;color:#ddd;border-color:#3a3a48}

/* BADGES */
.badge{padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600;display:inline-block}
.badge.green{background:#dcfce7;color:#166534}
.badge.red{background:#fee2e2;color:#991b1b}
.badge.orange{background:#ffedd5;color:#9a3412}
.badge.gray{background:#f3f4f6;color:#374151}
.badge.blue{background:#dbeafe;color:#1e40af}
body.dark .badge.gray{background:#2a2a38;color:#aaa}

/* NAME CELL AVATAR */
.name-cell{display:flex;align-items:center;gap:9px}
.avatar-sm{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;color:#fff}

/* ===== FORM PAGES ===== */
.form-page-grid{display:grid;gap:18px}
.form-page-grid.cols-3{grid-template-columns:1fr 2fr 1fr}
.form-page-grid.cols-2{grid-template-columns:1fr 2fr}
.form-page-grid.cols-1{grid-template-columns:1fr}
.card{background:white;border-radius:10px;padding:16px;box-shadow:0 4px 16px rgba(0,0,0,.06)}
.card h3{font-size:14px;font-weight:700;margin-bottom:14px;color:#333;border-bottom:1px solid #f0f0f0;padding-bottom:8px}
body.dark .card{background:#1e1e1e}
body.dark .card h3{color:#ddd;border-color:#2a2a38}

.photo-box{border:2px dashed #9aa0ff;border-radius:10px;height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#777;font-size:13px;cursor:pointer;gap:6px;transition:.2s}
.photo-box:hover{border-color:var(--gold);color:var(--gold)}
.photo-box .mat-big{font-size:40px;color:#c0c0d0}

.fgrid{display:grid;gap:10px}
.fgrid.g2{grid-template-columns:1fr 1fr}
.fgrid.g3{grid-template-columns:1fr 1fr 1fr}
.fgrid.g1{grid-template-columns:1fr}
.fg{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:#444}
body.dark .fg{color:#bbb}
.fg label{font-size:11px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px}
body.dark .fg label{color:#888}
.fg label span{color:var(--red)}
.fg input,.fg select,.fg textarea{width:100%}
.fg textarea{padding:7px 9px;border-radius:6px;border:1px solid #e5e7eb;font-size:13px;resize:vertical;min-height:60px;font-family:inherit}
.full{grid-column:1/-1}

/* SWITCH TOGGLE */
.switch-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;border-bottom:1px solid #f0f0f0}
body.dark .switch-row{border-color:#2a2a38}
.toggle-switch{position:relative;width:36px;height:19px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0;position:absolute}
.slider-s{position:absolute;inset:0;background:#ccc;border-radius:20px;cursor:pointer;transition:.3s}
.slider-s::before{content:"";position:absolute;width:14px;height:14px;left:3px;bottom:2.5px;background:#fff;border-radius:50%;transition:.3s}
.toggle-switch input:checked + .slider-s{background:var(--gold)}
.toggle-switch input:checked + .slider-s::before{transform:translateX(16px)}

/* FORM ACTIONS */
.form-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}

/* ===== PAYMENTS PAGE ===== */
.pay-layout{display:grid;grid-template-columns:1fr 170px;gap:12px}
.pay-summary{background:white;border-radius:10px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.05);text-align:center}
body.dark .pay-summary{background:#1e1e1e}
.pay-summary h4{font-size:13px;color:#666;margin-bottom:4px}
.pay-summary .big-num{font-size:18px;font-weight:700}
.success-text{color:var(--green)}
.danger-text{color:var(--red)}

/* ===== CONTRAT SPECIAL ===== */
.count-badge{background:#f4f6fb;padding:3px 9px;border-radius:20px;font-weight:700;font-size:12px}
body.dark .count-badge{background:#2a2a38}

/* ===== PAYMENTS RECENT TABLE ===== */
.payments{margin-top:12px}
.payments-header h3{font-size:15px;font-weight:600;margin-bottom:8px}
.payments-card{background:white;border-radius:10px;padding:12px;overflow-x:auto;box-shadow:0 2px 8px rgba(0,0,0,.05)}
body.dark .payments-card{background:#1e1e1e}

/* ===== LOCATIVE STATUT ===== */
.stat-loue{color:var(--blue);font-weight:600}
.stat-dispo{color:var(--green);font-weight:600}
.stat-attente{color:orange;font-weight:600}


/* ===== PANEL UTILITY (SaaS ready) ===== */
.panel{background:white;border-radius:10px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
body.dark .panel{background:#1e1e1e}
/* ===== TOAST ===== */
.toast{position:fixed;bottom:20px;right:20px;z-index:9999;background:white;border-radius:10px;padding:12px 18px;box-shadow:0 8px 30px rgba(0,0,0,.15);border-left:4px solid var(--green);display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;transform:translateY(80px);opacity:0;transition:.35s cubic-bezier(.16,1,.3,1)}
.toast.show{transform:translateY(0);opacity:1}
.toast.err{border-color:var(--red)}
body.dark .toast{background:#1e1e1e;color:#e5e5e5}

/* ===== LOGIN PAGE ===== */
#loginPage{position:fixed;inset:0;z-index:9999;background:#050508;display:flex;overflow:hidden;font-family:'Inter',system-ui,sans-serif}
#loginPage canvas{position:fixed;inset:0;z-index:0;pointer-events:none}

/* Ambient blobs */
.ln-blob{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
.ln-blob-1{width:600px;height:600px;top:-180px;left:-120px;background:radial-gradient(circle,rgba(212,175,55,.18) 0%,transparent 70%)}
.ln-blob-2{width:500px;height:500px;bottom:-150px;right:-80px;background:radial-gradient(circle,rgba(212,175,55,.12) 0%,transparent 70%)}
.ln-blob-3{width:300px;height:300px;top:40%;left:38%;background:radial-gradient(circle,rgba(212,175,55,.07) 0%,transparent 70%)}

/* Left panel */
.login-left{
  flex:1.1;z-index:2;position:relative;
  display:flex;flex-direction:column;justify-content:center;padding:50px 60px;
  border-right:1px solid rgba(212,175,55,.07);
  background:linear-gradient(145deg,rgba(212,175,55,.03) 0%,transparent 60%);
}
.login-left::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(212,175,55,.04) 0%,transparent 50%);
  pointer-events:none;
}

/* Logo + brand */
.ln-brand{display:flex;align-items:center;gap:14px;margin-bottom:38px;animation:slideR .9s cubic-bezier(.16,1,.3,1) both}
.ln-logo-img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(212,175,55,.4))}
.ln-brand-text{}
.ln-brand-name{font-size:22px;font-weight:900;letter-spacing:2.5px;line-height:1;
  background:linear-gradient(135deg,#fff 30%,var(--gold) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ln-brand-sub{font-size:9px;letter-spacing:4px;color:rgba(212,175,55,.5);text-transform:uppercase;margin-top:4px}

/* Headline */
.ln-headline{animation:slideR .9s .1s cubic-bezier(.16,1,.3,1) both}
.ln-headline h1{font-size:30px;font-weight:800;color:#fff;line-height:0.95;letter-spacing:-.5px;margin-bottom:12px}
.ln-headline h1 span{
  background:linear-gradient(120deg,var(--gold),#f5e08e,var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ln-headline p{font-size:12px;color:rgba(255,255,255,.32);line-height:1.7;max-width:340px}

/* Feature pills */
.ln-features{display:flex;flex-wrap:wrap;gap:7px;margin-top:26px;animation:slideR .9s .2s cubic-bezier(.16,1,.3,1) both}
.ln-feat-pill{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.03);border:1px solid rgba(212,175,55,.1);border-radius:30px;padding:5px 12px;font-size:10.5px;color:rgba(255,255,255,.45)}
.ln-feat-pill .material-symbols-rounded{font-size:13px;color:rgba(212,175,55,.7)}

/* Divider */
.ln-divider{width:36px;height:2px;background:linear-gradient(to right,rgba(212,175,55,.5),transparent);border-radius:2px;margin:20px 0}

/* Stats row */
.ln-stats{display:flex;gap:28px;margin-top:30px;animation:slideR .9s .3s cubic-bezier(.16,1,.3,1) both}
.ln-stat-num{font-size:20px;font-weight:900;color:var(--gold)}
.ln-stat-lbl{font-size:9px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:1px;margin-top:2px}

/* Signature */
.ln-signature{position:absolute;bottom:24px;left:60px;font-size:9.5px;color:rgba(255,255,255,.12);letter-spacing:.5px;font-style:italic}
.ln-signature span{color:rgba(212,175,55,.25)}

/* Right panel */
.login-right{flex:1;z-index:2;display:flex;align-items:center;justify-content:center;padding:40px}

/* Login card */
.login-box{
  width:400px;padding:46px 42px;border-radius:28px;
  background:linear-gradient(160deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.03) 100%);
  backdrop-filter:blur(40px);
  box-shadow:0 50px 140px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.08);
  animation:boxIn .9s .15s cubic-bezier(.16,1,.3,1) both;
  position:relative;overflow:hidden;
}
.login-box::before{
  content:'';position:absolute;top:-1px;left:10%;right:10%;height:1px;
  background:linear-gradient(to right,transparent,rgba(212,175,55,.5),transparent);
}
@keyframes boxIn{from{opacity:0;transform:translateY(40px) scale(.97)}}
@keyframes slideR{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}

/* Login box logo */
.lb-logo-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}
.lb-logo{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(212,175,55,.5));margin-bottom:12px}
.lb-title{font-size:22px;font-weight:900;color:#fff;text-align:center;letter-spacing:.5px}
.lb-subtitle{font-size:12px;color:rgba(255,255,255,.35);text-align:center;margin-top:4px;letter-spacing:1px;text-transform:uppercase}

/* Gold accent line */
.lb-accent{width:40px;height:2px;background:linear-gradient(to right,var(--gold),transparent);border-radius:2px;margin:0 auto 28px}

/* Fields */
.lfield{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border-radius:14px;padding:14px 17px;margin-bottom:14px;border:1.5px solid rgba(255,255,255,.07);transition:.25s}
.lfield:focus-within{border-color:rgba(212,175,55,.6);background:rgba(212,175,55,.05);box-shadow:0 0 0 4px rgba(212,175,55,.08)}
.lfield .mat{color:var(--gold);font-size:20px;flex-shrink:0}
.lfield input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:13.5px;font-family:inherit}
.lfield input::placeholder{color:rgba(255,255,255,.3)}

/* Login button */
.login-btn-main{
  width:100%;padding:15px;border:none;border-radius:14px;
  background:linear-gradient(120deg,#b8920f,var(--gold),#f5e08e,var(--gold),#b8920f);
  background-size:200% 100%;
  font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;color:#000;margin-top:4px;
  box-shadow:0 12px 40px rgba(212,175,55,.35);
  transition:.3s;letter-spacing:.5px;text-transform:uppercase;
}
.login-btn-main:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 18px 50px rgba(212,175,55,.45)}
.login-btn-main:active{transform:translateY(0)}

/* Forgot / hint */
.login-hint{text-align:center;color:rgba(255,255,255,.25);font-size:11px;margin-top:18px;line-height:1.8}
.login-hint a{color:rgba(212,175,55,.6);cursor:pointer;text-decoration:none;transition:.2s;display:inline-flex;align-items:center;gap:4px}
.login-hint a:hover{color:var(--gold);letter-spacing:.3px}

/* Security badge */
.lb-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:22px;color:rgba(255,255,255,.2);font-size:11px}
.lb-security .material-symbols-rounded{font-size:13px;color:rgba(212,175,55,.4)}

/* Forgot password elegant notification */
#lnForgotMsg{
  position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);
  background:linear-gradient(135deg,rgba(15,10,5,.97),rgba(25,20,5,.97));
  border:1px solid rgba(212,175,55,.2);
  border-radius:14px;padding:16px 20px;width:280px;
  box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(212,175,55,.06);
  backdrop-filter:blur(20px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease, transform .3s cubic-bezier(.16,1,.3,1), visibility .3s;
  z-index:10;
}
#lnForgotMsg.show{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
#lnForgotMsg::after{
  content:'';position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);
  width:10px;height:10px;background:rgba(20,15,5,.97);
  border-right:1px solid rgba(212,175,55,.2);border-bottom:1px solid rgba(212,175,55,.2);
  clip-path:polygon(0 0,100% 100%,100% 0);
  transform:translateX(-50%) rotate(45deg);
}
.lfm-icon{width:32px;height:32px;border-radius:9px;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lfm-icon .material-symbols-rounded{font-size:16px;color:var(--gold)}
.lfm-title{font-size:12px;font-weight:700;color:rgba(255,255,255,.75);margin-bottom:3px;letter-spacing:.3px}
.lfm-body{font-size:11px;color:rgba(255,255,255,.35);line-height:1.6}
.lfm-close{position:absolute;top:10px;right:12px;font-size:13px;color:rgba(255,255,255,.2);cursor:pointer;transition:.15s;background:none;border:none;padding:0;line-height:1}
.lfm-close:hover{color:rgba(255,255,255,.5)}

@media(max-width:900px){.login-left{display:none}.login-right{flex:1}}

/* DARK MODE extra */
body.dark .container,body.dark .card,body.dark .chart-box,body.dark .pay-summary,body.dark .payments-card{background:#1e1e1e}
body.dark table thead th{background:#181824}
body.dark .user-menu{background:#1e1e1e;color:#e5e5e5}
body.dark .stat-card{background:#1e1e1e}
body.dark #fich-drop-zone{border-color:#4a4a68;background:#1e1e2a;color:#aaa}
body.dark #fich-preview-bar{background:#1a2e1a;border-color:#4ade80;color:#4ade80}
body.dark [style*="background:white"]{background:#1e1e1e!important}
body.dark [style*="background:#f9fafb"]{background:#181824!important}
body.dark [style*="background:#f0fdf4"]{background:#1a2e1a!important}
body.dark #msg-bubbles{background:#181824!important}
body.dark #msg-conv-list > div{border-color:#2a2a38!important}
body.dark #msg-chat-header{border-color:#2a2a38!important}
body.dark #msg-input-area{background:#1e1e1e!important;border-color:#2a2a38!important}
body.dark #msg-input-text{background:#2a2a38!important;border-color:#3a3a48!important;color:#e5e5e5!important}
body.dark .page#page-messages > div{background:#1e1e1e!important}
body.dark .page#page-messages > div > div:first-child{background:#181824!important;border-color:#2a2a38!important}

/* ===== AUDIT LOG ===== */
.audit-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.audit-title-block{display:flex;align-items:center;gap:14px}
.audit-icon-wrap{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#1e1e2e,#2a2a3e);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.2);flex-shrink:0}
.audit-icon-wrap .material-symbols-rounded{font-size:22px;color:var(--gold)}
.audit-main-title{font-size:18px;font-weight:900;color:#111;letter-spacing:-.3px}
body.dark .audit-main-title{color:#eee}
.audit-subtitle{font-size:12px;color:#999;margin-top:2px}
.audit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.audit-filters{display:flex;gap:6px;flex-wrap:wrap}
body.dark .audit-filters select{background:#1e1e1e;border-color:#3a3a48;color:#ddd}

.audit-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:4px}
.audit-kpi{background:white;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
body.dark .audit-kpi{background:#1e1e1e}
.audit-kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.audit-kpi-icon .material-symbols-rounded{font-size:18px}
.audit-kpi-val{font-size:16px;font-weight:900;color:#111;display:block;line-height:1}
body.dark .audit-kpi-val{color:#eee}
.audit-kpi-lbl{font-size:10px;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-top:3px;display:block}

/* Table */
#auditTable thead th{background:#0f0f0f;color:#aaa;font-size:10px;letter-spacing:.5px;padding:10px 12px}
body.dark #auditTable thead th{background:#080810}
#auditTable tbody td{padding:9px 12px;vertical-align:middle}

.audit-user-cell{display:flex;align-items:center;gap:8px}
.audit-avatar{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--gold),#c4a030);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#000;flex-shrink:0}
.audit-username{font-size:12px;font-weight:700;color:#111;white-space:nowrap}
body.dark .audit-username{color:#eee}
.audit-useremail{font-size:10px;color:#9ca3af}

.audit-action-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.audit-action-badge .material-symbols-rounded{font-size:13px}
.ab-login{background:#dcfce7;color:#166534}
.ab-logout{background:#f3f4f6;color:#374151}
.ab-add{background:#dbeafe;color:#1e40af}
.ab-edit{background:#fef9ec;color:#d97706}
.ab-delete{background:#fee2e2;color:#dc2626}
.ab-export{background:#ede9fe;color:#6d28d9}

.audit-module-pill{display:inline-flex;align-items:center;gap:4px;background:#f3f4f6;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;color:#374151;white-space:nowrap}
body.dark .audit-module-pill{background:#2a2a38;color:#ccc}
.audit-module-pill .material-symbols-rounded{font-size:12px}

.audit-detail{font-size:11px;color:#6b7280;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dark .audit-detail{color:#aaa}

.audit-session{font-family:monospace;font-size:10px;color:#9ca3af;background:#f9fafb;padding:2px 6px;border-radius:4px;border:1px solid #f0f0f0}
body.dark .audit-session{background:#1a1a28;border-color:#2a2a38}

.audit-ip{font-family:monospace;font-size:11px;color:#374151;font-weight:500}
body.dark .audit-ip{color:#ccc}

.audit-time{white-space:nowrap}
.audit-time-date{font-size:12px;font-weight:600;color:#111}
body.dark .audit-time-date{color:#eee}
.audit-time-hour{font-size:10px;color:#9ca3af}

.audit-empty{padding:40px;text-align:center;color:#9ca3af}
.audit-empty .material-symbols-rounded{font-size:40px;display:block;margin-bottom:8px;color:#d1d5db}
.audit-empty p{font-size:13px}

.audit-table-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid #f0f0f0}
body.dark .audit-table-foot{border-color:#2a2a38}


/* ===== PAGE HERO COMPONENT ===== */
.page-hero{display:flex;align-items:center;gap:16px;background:white;border-radius:14px;padding:20px 24px;margin-bottom:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);border-left:5px solid var(--hero-color,var(--gold))}
body.dark .page-hero{background:#1e1e1e}
.page-hero-icon{width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--hero-color,var(--gold)) 12%,transparent);color:var(--hero-color,var(--gold));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.page-hero-icon .material-symbols-rounded{font-size:24px}
.page-hero-text{flex:1}
.page-hero-text h3{font-size:16px;font-weight:800;color:#111;margin-bottom:2px}
body.dark .page-hero-text h3{color:#eee}
.page-hero-text p{font-size:12px;color:#888;line-height:1.4}
.page-hero-actions{display:flex;gap:8px;flex-wrap:wrap}

/* ===== DASHBOARD EXTRAS ===== */
.dash-welcome{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--black) 0%,#1c1c2e 100%);border-radius:14px;padding:20px 24px;margin-bottom:14px;color:#fff}
.dash-welcome-title{font-size:17px;font-weight:800;margin-bottom:3px}
.dash-welcome-sub{font-size:12px;color:rgba(255,255,255,.55)}
.dash-date-badge{display:flex;align-items:center;gap:7px;background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.3);border-radius:20px;padding:7px 14px;font-size:12px;color:var(--gold);font-weight:600}
.stat-card{position:relative;overflow:hidden}
.stat-icon-wrap{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.stat-icon-wrap .material-symbols-rounded{font-size:20px}
.mini-card{display:flex;flex-direction:column;align-items:center;gap:4px}

/* ===== RAPPORT STYLES ===== */
.rpt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}
.rpt-title-block{display:flex;align-items:center;gap:14px}
.rpt-icon-wrap{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--gold),#f5e08e);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(212,175,55,.3)}
.rpt-icon-wrap .material-symbols-rounded{font-size:24px;color:#000}
.rpt-main-title{font-size:20px;font-weight:900;color:#111;margin-bottom:2px;letter-spacing:-.3px}
body.dark .rpt-main-title{color:#eee}
.rpt-subtitle{font-size:12px;color:#999}
.rpt-actions{display:flex;align-items:center;gap:10px}
.rpt-period-select{display:flex;align-items:center;gap:6px;background:white;border:1px solid #e5e7eb;border-radius:8px;padding:6px 12px;cursor:pointer}
body.dark .rpt-period-select{background:#1e1e1e;border-color:#3a3a48}
body.dark .rpt-period-select select{color:#ddd}
.rpt-pdf-btn{background:linear-gradient(135deg,var(--gold),#e8c945);color:#000;font-weight:700;box-shadow:0 4px 14px rgba(212,175,55,.3);padding:9px 18px}
.rpt-pdf-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(212,175,55,.4)}

.rpt-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.rpt-kpi{background:white;border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);position:relative;overflow:hidden;transition:.2s}
.rpt-kpi:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
body.dark .rpt-kpi{background:#1e1e1e}
.rpt-kpi-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rpt-kpi-icon .material-symbols-rounded{font-size:22px}
.rpt-kpi-green .rpt-kpi-icon{background:#dcfce7;color:#16a34a}
.rpt-kpi-red .rpt-kpi-icon{background:#fee2e2;color:#dc2626}
.rpt-kpi-gold .rpt-kpi-icon{background:#fef9ec;color:#d97706}
.rpt-kpi-blue .rpt-kpi-icon{background:#dbeafe;color:#2563eb}
.rpt-kpi-body{flex:1}
.rpt-kpi-label{font-size:11px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:4px}
.rpt-kpi-val{font-size:17px;font-weight:900;color:#111;display:block}
body.dark .rpt-kpi-val{color:#eee}
.rpt-kpi-sparkline{position:absolute;bottom:0;right:0;width:60px;height:30px;opacity:.15;border-radius:8px 0 14px 0}
.rpt-kpi-sparkline-green{background:var(--green)}
.rpt-kpi-sparkline-red{background:var(--red)}
.rpt-kpi-sparkline-gold{background:var(--gold)}
.rpt-kpi-sparkline-blue{background:var(--blue)}
.rpt-kpi-green{border-top:3px solid #16a34a}
.rpt-kpi-red{border-top:3px solid #dc2626}
.rpt-kpi-gold{border-top:3px solid var(--gold)}
.rpt-kpi-blue{border-top:3px solid #2563eb}

.rpt-charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}
.rpt-chart-card{background:white;border-radius:14px;padding:18px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
body.dark .rpt-chart-card{background:#1e1e1e}
.rpt-chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.rpt-chart-title{font-size:13px;font-weight:700;color:#333}
body.dark .rpt-chart-title{color:#ccc}
.rpt-chart-badge{background:#f3f4f6;color:#666;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600}
body.dark .rpt-chart-badge{background:#2a2a38;color:#aaa}

.rpt-secondary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rpt-stat-block{background:white;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
body.dark .rpt-stat-block{background:#1e1e1e}
.rpt-stat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rpt-stat-icon .material-symbols-rounded{font-size:20px}
.rpt-stat-label{font-size:11px;color:#888;font-weight:600;margin-bottom:2px}
.rpt-stat-val{font-size:18px;font-weight:900;color:#111}
body.dark .rpt-stat-val{color:#eee}

/* ===== SETTINGS STYLES ===== */
.cfg-wrap{max-width:720px;display:flex;flex-direction:column;gap:14px}
.cfg-logo-card{background:#ffffff;border-radius:16px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between}
.cfg-logo-inner{display:flex;align-items:center;gap:16px}
.cfg-logo-badge{width:60px;height:60px;border-radius:14px;background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center}
.cfg-logo-name{display:block;font-size:24px;font-weight:900;letter-spacing:2px;color:#111}
.cfg-logo-tagline{display:block;font-size:11px;letter-spacing:3px;color:#6b7280;text-transform:uppercase;margin-top:2px}
.cfg-version-tag{background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.3);border-radius:20px;padding:6px 14px;font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.5px}
body.dark .cfg-logo-card{background:transparent;border:none}
body.dark .cfg-logo-name{color:#eee!important}
body.dark .cfg-logo-tagline{color:#9ca3af!important}

.cfg-grid{display:flex;flex-direction:column;gap:10px}
.cfg-section{background:white;border-radius:14px;padding:20px 22px;display:flex;align-items:flex-start;gap:16px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
body.dark .cfg-section{background:#1e1e1e}
.cfg-section-icon{width:40px;height:40px;border-radius:10px;background:#f3f4f6;color:#555;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
body.dark .cfg-section-icon{background:#2a2a38;color:#aaa}
.cfg-section-icon .material-symbols-rounded{font-size:20px}
.cfg-section-body{flex:1}
.cfg-section-title{font-size:14px;font-weight:800;color:#111;margin-bottom:12px}
body.dark .cfg-section-title{color:#eee}
.cfg-section-desc{font-size:12px;color:#888;margin-bottom:12px;line-height:1.5}
.cfg-data-actions{display:flex;gap:8px;flex-wrap:wrap}
.cfg-export-btn{background:#f3f4f6;color:#374151}
.cfg-export-btn:hover{background:#e5e7eb}
body.dark .cfg-export-btn{background:#2a2a38;color:#ddd}
.cfg-footer{display:flex;align-items:center;gap:8px;font-size:11px;color:#aaa;background:white;border-radius:10px;padding:12px 16px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
body.dark .cfg-footer{background:#1e1e1e}

.icon-btn .material-symbols-rounded{font-size:22px;pointer-events:none}
.id-badge{font-family:monospace;font-size:11px;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#555}
body.dark .id-badge{background:#2a2a38;color:#aaa}

/* CONTRAT PDF HIDDEN */
#pdfDoc{display:none}
.row-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:600;display:none;align-items:center;justify-content:center}
.row-modal.open{display:flex}
.row-modal-box{background:white;border-radius:14px;padding:28px;width:680px;max-width:96vw;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}
body.dark .row-modal-box{background:#1e1e1e;color:#e5e5e5}
.row-modal-box h3{font-size:15px;font-weight:700;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:8px}
body.dark .row-modal-box h3{border-color:#2a2a38}
.row-modal-box h3 .material-symbols-rounded{font-size:18px;color:var(--gold)}
.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.view-field{background:#f9fafb;border-radius:8px;padding:10px 12px}
body.dark .view-field{background:#181824}
.view-field label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#999;display:block;margin-bottom:3px}
.view-field span{font-size:13px;font-weight:600;color:#111}
body.dark .view-field span{color:#e5e5e5}
.view-field.full{grid-column:1/-1}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #f0f0f0}
body.dark .modal-footer{border-color:#2a2a38}
.modal-photo{width:100%;margin-bottom:14px;display:flex;justify-content:center}
.modal-photo img{width:110px;height:110px;border-radius:12px;object-fit:cover;border:3px solid var(--gold);box-shadow:0 4px 16px rgba(0,0,0,.15)}
.modal-photo-placeholder{width:110px;height:110px;border-radius:12px;background:#f3f4f6;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;font-size:12px;border:2px dashed #d1d5db;cursor:pointer;transition:.2s}
.modal-photo-placeholder:hover{border-color:var(--gold);color:var(--gold)}
.modal-photo-placeholder .material-symbols-rounded{font-size:36px;margin-bottom:4px}
body.dark .modal-photo-placeholder{background:#2a2a38;border-color:#3a3a48}
.row-modal-box{width:560px}
.photo-box{position:relative;cursor:pointer}
.photo-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.photo-preview{width:100%;height:170px;object-fit:cover;border-radius:10px;display:none}

/* ===== BIENS — hover hint + documents ===== */
.bien-card-hover-tip{position:absolute;left:50%;top:58px;transform:translate(-50%,6px);background:rgba(15,15,15,.86);color:#fff;font-size:10.5px;font-weight:700;padding:6px 10px;border-radius:20px;opacity:0;pointer-events:none;transition:.18s;white-space:nowrap;z-index:3;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.bien-card:hover .bien-card-hover-tip{opacity:1;transform:translate(-50%,0)}
.bien-card:hover .bien-card-photo:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.18)}
.bien-card-photo{position:relative;overflow:hidden}
.bien-doc-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px;padding:9px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}
.bien-doc-list-item{display:flex;align-items:center;gap:10px;padding:9px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:9px;margin-bottom:7px}
body.dark .bien-doc-row,body.dark .bien-doc-list-item{background:#181824;border-color:#2a2a38}

.bien-doc-premium-drop{border:2px dashed #d1d5db;border-radius:14px;padding:18px;text-align:center;background:#f9fafb;transition:.18s;cursor:pointer;margin-bottom:12px}
.bien-doc-premium-drop:hover,.bien-doc-premium-drop.dragover{border-color:var(--gold);background:#fff8e3;box-shadow:0 8px 24px rgba(212,175,55,.12)}
.bien-doc-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-bottom:14px}
.bien-doc-album-title{font-size:12px;font-weight:900;color:#111;margin:14px 0 8px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.3px}
.bien-doc-card{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:10px;margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.bien-doc-preview{width:74px;height:58px;border-radius:9px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #eee}
.bien-doc-preview img{width:100%;height:100%;object-fit:cover}.bien-doc-preview iframe{width:100%;height:100%;border:0}.bien-doc-preview .material-symbols-rounded{font-size:28px;color:#9ca3af}
.bien-doc-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
body.dark .bien-doc-premium-drop{background:#181824;border-color:#2a2a38}body.dark .bien-doc-premium-drop:hover,body.dark .bien-doc-premium-drop.dragover{background:#2a2a20;border-color:var(--gold)}body.dark .bien-doc-card{background:#181824;border-color:#2a2a38}body.dark .bien-doc-album-title{color:#eee}
@media(max-width:760px){.bien-doc-form{grid-template-columns:1fr}.bien-doc-card{grid-template-columns:56px 1fr}.bien-doc-actions{grid-column:1/-1;justify-content:flex-start}.bien-doc-preview{width:56px;height:50px}}

/* ── Auth states ── */
#loginPage .login-btn-main.loading{opacity:.6;pointer-events:none;cursor:not-allowed}
.auth-error{color:#ef4444;font-size:12px;text-align:center;margin-top:8px;min-height:16px;transition:.2s}


/* ===== DASHBOARD COMPACT — accueil type gestion locative ===== */

.compact-dashboard{display:flex;flex-direction:column;gap:12px;min-height:calc(100vh - 75px);overflow:visible;background:#fafafa;padding:0 2px 10px}
body.dark .compact-dashboard{background:#121212}
.dash-breadcrumb{height:38px;display:inline-flex;align-items:center;gap:0;margin:-4px 0 2px;color:#5b625b;font-size:13px;font-weight:500}
.dash-breadcrumb-home{width:42px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #edf0e8;border-left:0;border-radius:0 0 18px 0;background:#fff;color:#56615c;box-shadow:0 1px 5px rgba(0,0,0,.03)}
.dash-breadcrumb-home .material-symbols-rounded{font-size:18px}.dash-breadcrumb-name{height:38px;min-width:110px;padding:0 18px;display:flex;align-items:center;border:1px solid #edf0e8;border-left:0;border-radius:0 0 0 18px;background:#fff;color:#6c726d}body.dark .dash-breadcrumb-home,body.dark .dash-breadcrumb-name{background:#1e1e1e;border-color:#2a2a38;color:#bbb}
.dash-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border-radius:0;padding:14px 0 18px;color:#111;box-shadow:none;position:relative;overflow:visible}.dash-hero:before{display:none}
.dash-hello{font-size:36px;font-weight:900;color:#0f0f0f;margin:0;line-height:1;letter-spacing:-1px;position:relative;display:flex;align-items:flex-end;gap:12px}.dash-hello em{font-family:'Brush Script MT','Segoe Script',cursive;font-size:62px;font-weight:400;color:#D4AF37;font-style:normal;line-height:.8;text-shadow:0 1px 0 rgba(0,0,0,.04);position:relative}.dash-hello em:after{content:'';position:absolute;left:36px;right:-25px;bottom:-10px;height:18px;border-bottom:3px solid #D4AF37;border-radius:50%;transform:rotate(-3deg)}.dash-hello em:before{content:'✦';position:absolute;right:-34px;bottom:-18px;font-size:15px;color:#D4AF37}.dash-hello span{color:#111;-webkit-text-fill-color:#111;background:none;font-size:36px;font-weight:900}.dash-hero-sub{display:none}.dash-hero-badge{display:none}.dash-hero-badge .material-symbols-rounded{font-size:17px}
.dash-grid-top{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dash-tile{background:white;border:1px solid #ece8dc;border-radius:18px;box-shadow:0 8px 22px rgba(20,20,20,.07);padding:15px 17px;min-height:104px;position:relative;overflow:hidden;transition:.2s}.dash-tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,20,20,.1)}body.dark .dash-tile{background:#1e1e1e;border-color:#2a2a38}.dash-tile:after{content:'';position:absolute;right:22px;top:36px;width:3px;height:34px;border-radius:3px;background:var(--gold)}.dash-tile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dash-tile-title{font-size:18px;font-weight:850;color:#1d1d1b}.dash-gear{font-size:18px!important;color:#9b9b91}.dash-tile-body{display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-big-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#fbf5e4,#fff);display:flex;align-items:center;justify-content:center;color:#c69414;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(212,175,55,.08)}.dash-big-icon .material-symbols-rounded{font-size:32px}.dash-counter{display:flex;align-items:baseline;gap:8px;white-space:nowrap;padding-right:12px}.dash-counter .num{font-size:38px;line-height:1;color:var(--gold);font-weight:900}.dash-counter .of{font-size:12px;font-weight:900;color:#333;text-transform:uppercase}.dash-counter .arch{display:block;font-size:11px;color:#8a8d87;font-weight:500;margin-top:2px}
.dash-main-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.dash-panel{background:white;border:1px solid #ece8dc;border-radius:18px;box-shadow:0 8px 24px rgba(20,20,20,.07);padding:16px;min-width:0;overflow:hidden}.dash-panel.revenus-panel{padding:16px 16px 18px}.dash-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dash-panel-title{font-size:20px;font-weight:900;color:#151515;letter-spacing:-.3px}.dash-tabs{display:flex;gap:18px;border-bottom:1px solid #e7e2d3;margin-bottom:16px;overflow:hidden}.dash-tab{font-size:12px;padding:8px 2px 11px;color:#333;font-weight:800;border-bottom:2px solid transparent;white-space:nowrap;letter-spacing:-.1px}.dash-tab.active{color:#c48f05;border-bottom-color:var(--gold);background:transparent;transform:none}
.dash-revenus-layout{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(330px,.95fr) minmax(330px,1fr);gap:18px;align-items:stretch}.dash-revenue-box{border:0;padding:0;border-radius:0;margin:0}.dash-revenue-top{display:grid;grid-template-columns:115px 1fr 1fr;align-items:center;gap:0;margin-bottom:14px;background:linear-gradient(135deg,#fafafa,#fff);border-radius:12px;padding:16px;border:1px solid #eee9dc}.dash-money-icon{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#fbf5e4,#fff);color:#c69414;display:flex;align-items:center;justify-content:center;margin:auto;box-shadow:inset 0 0 0 1px rgba(212,175,55,.1)}.dash-money-icon .material-symbols-rounded{font-size:30px}.dash-pay-stat{border-left:1px solid #e6e0d3;padding-left:18px}.dash-pay-stat span{display:block;font-size:11px;font-weight:900;color:#222;text-transform:uppercase;margin-bottom:4px}.dash-pay-stat strong{font-size:34px;line-height:1;color:#7c9f2e;font-weight:900}.dash-pay-stat.gray strong{color:#dc2626}.dash-money-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-money-card{border:1px solid #e6e0d3;border-left:3px solid #7c9f2e;border-radius:12px;padding:13px;background:#fff;min-height:82px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 12px rgba(0,0,0,.035)}.dash-money-card.full{grid-column:1/-1}.dash-money-card.danger{border-left-color:#dc2626}.dash-money-card.gold{border-left-color:var(--gold)}.dash-money-card label{display:block;font-size:10px;font-weight:900;color:#222;text-transform:uppercase;margin-bottom:4px}.dash-money-card strong{font-size:21px;color:#26851f;font-weight:900}.dash-money-card.danger strong{color:#dc2626}.dash-money-card.gold strong{color:#c48f05}.dash-mini-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f0f9ec;color:#26851f}.dash-money-card.danger .dash-mini-icon{background:#fff1f0;color:#dc2626}.dash-money-card.gold .dash-mini-icon{background:#fff8e3;color:#c48f05}.dash-mini-icon .material-symbols-rounded{font-size:22px}.dash-chart-wrap{border:1px solid #e6e0d3;border-radius:14px;padding:14px;background:#fff;height:100%;min-height:350px;display:flex;flex-direction:column}.dash-chart-card{border:0;border-radius:0;padding:0;height:270px;flex:1}.dash-chart-card canvas{max-height:260px!important}.dash-agenda-card{padding:0;border:1px solid #e6e0d3;border-radius:14px;background:#fff;box-shadow:none;min-height:350px;display:flex;flex-direction:column}.dash-agenda-card .dash-panel-head{margin-bottom:0}.dash-agenda-card #homeAgendaList{flex:1}.dash-agenda-card .dash-show-all{margin-top:auto}.dash-agenda-summary{display:grid;grid-template-columns:130px 1fr 1fr;align-items:center;text-align:center;margin:18px 10px 12px}.dash-agenda-summary>div{border-left:1px solid #e5e7eb}.dash-agenda-summary>div:first-child{border-left:none}.dash-agenda-label{font-size:11px;font-weight:900;color:#333;text-transform:uppercase}.dash-agenda-num{font-size:36px;line-height:1;color:var(--gold);font-weight:900}.dash-event{border:1px solid #e5e7eb;border-radius:8px;margin:0 10px 10px;padding:11px 12px;color:#555;font-size:12px}.dash-event-title{font-size:14px;color:#c48f05;margin-bottom:6px;display:flex;align-items:center;gap:6px}.dash-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);display:inline-block}.dash-event-line{display:flex;align-items:center;gap:6px;margin:3px 0}.dash-event-line .material-symbols-rounded{font-size:14px;color:#777}.dash-show-all{width:calc(100% - 20px);margin:4px 10px 12px;padding:8px;border:1px solid #e5e7eb;background:white;border-radius:7px;font-size:13px;color:#444;cursor:pointer}.dash-float-chat{position:fixed;right:22px;bottom:18px;width:54px;height:54px;border-radius:50%;background:var(--gold);color:#111;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(212,175,55,.28);z-index:20}.dash-float-chat .material-symbols-rounded{font-size:28px}body.dark .dash-panel,body.dark .dash-chart-wrap,body.dark .dash-revenue-top,body.dark .dash-money-card{background:#1e1e1e;border-color:#2a2a38}body.dark .dash-panel-title,body.dark .dash-tile-title,body.dark .dash-counter .of,body.dark .dash-pay-stat span,body.dark .dash-money-card label,body.dark .dash-agenda-label{color:#eee}body.dark .dash-tabs{border-color:#2a2a38}body.dark .dash-event,body.dark .dash-show-all{border-color:#2a2a38;background:#181824;color:#ddd}
@media(max-width:1200px){.dash-revenus-layout{grid-template-columns:1fr}.dash-chart-wrap{min-height:290px}.dash-chart-card{height:235px}.dash-grid-top{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:800px){.dash-grid-top{grid-template-columns:1fr}.dash-hero{align-items:flex-start;flex-direction:column}.dash-hello{font-size:22px}.dash-revenue-top{grid-template-columns:80px 1fr 1fr}.dash-money-cards{grid-template-columns:1fr}.dash-tabs{gap:10px}.dash-tab{font-size:11px}}


/* ===== DASHBOARD PHOTO EXACT — override final ===== */
:root{--sidebar-w:176px;--gold:#D4AF37;--gold2:#e6ad18;--soft-bg:#f4f5f7;--gold-bg:#fff8e5;--line:#e9edf3;}
.sidebar{width:var(--sidebar-w)!important;background:var(--soft-bg)!important;padding:12px 10px!important;box-shadow:none!important;border-right:1px solid var(--line)!important;color:#16191f!important}
/* LOGO ROND */
.sidebar .logo{height:auto!important;padding:0 2px 10px!important;margin-bottom:4px!important;padding-bottom:10px!important;border-bottom:1px solid var(--line)!important;gap:8px!important;align-items:center!important}
.sidebar .logo .logo-icon{width:28px!important;height:28px!important;border-radius:50%!important;background:var(--gold)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:10px!important;font-weight:800!important;color:#111!important;flex-shrink:0!important;filter:none!important}
.sidebar .logo img{display:block!important;width:38px!important;height:38px!important;border-radius:8px!important;object-fit:contain!important;flex-shrink:0!important}
.sidebar .logo span:first-child:not(.logo-text):not(.sidebar-logo-name),.sidebar .logo span:last-child:not(.logo-text):not(.sidebar-logo-name),.sidebar .logo .material-symbols-rounded{display:none!important}
.sidebar .logo .sidebar-logo-name{display:block!important;font-size:12px!important;font-weight:900!important;color:#16191f!important;white-space:nowrap!important;line-height:0.9!important;overflow:hidden!important;text-overflow:ellipsis!important;opacity:1!important}
body.dark .sidebar .logo .sidebar-logo-name{color:#eee!important}
.sidebar .logo .logo-text{display:block!important;font-size:12px!important;font-weight:700!important;color:#16191f!important;white-space:nowrap!important;line-height:0.9!important;text-transform:none!important;letter-spacing:0!important;opacity:1!important}
/* MENU LIGHT */
.menu{display:flex!important;flex-direction:column!important;gap:2px!important;margin-top:6px!important}.menu li{height:auto!important;min-height:0!important;border-radius:7px!important;padding:4px 8px!important;font-size:11px!important;font-weight:600!important;color:#555d6b!important;gap:7px!important;transition:background .15s,color .15s!important;box-shadow:none!important}.menu li span,.menu li .material-symbols-rounded{font-size:16px!important;color:#9ca3af!important;transition:color .15s!important}.menu li:hover{background:#e8e9ec!important;color:#16191f!important}.menu li:hover span,.menu li:hover .material-symbols-rounded{color:#374151!important}.menu li.active span,.menu li.active .material-symbols-rounded{color:var(--gold)!important}.menu li.logout{margin-top:auto!important;color:var(--red)!important}.menu li.logout span{color:var(--red)!important}.menu li.logout:hover{background:rgba(220,38,38,.08)!important;box-shadow:none!important}
@media(max-width:1300px){
  .dash-revenus-layout{
    grid-template-columns:minmax(360px,1.15fr) minmax(330px,.95fr) minmax(330px,1fr);
  }

  .dash-agenda-card{
    grid-column:auto;
  }

  .dash-revenue-box,
  .dash-chart-wrap{
    grid-row:auto;
    grid-column:auto;
  }
}


/* AJUSTEMENTS FINAUX DASHBOARD ULTRA COMPACT */
/* compact sidebar */.dash-welcome{padding:11px 14px!important;border-radius:12px!important;margin-bottom:10px!important}.dash-welcome-title{font-size:14px!important;line-height:0.9!important;font-weight:750!important;margin-bottom:2px!important}.dash-welcome-sub{font-size:10.5px!important;line-height:1.35!important}.dash-date-badge{padding:5px 10px!important;font-size:10.5px!important;border-radius:16px!important;gap:5px!important}.stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important;max-width:740px!important}.stat-card{padding:9px 10px!important;border-radius:8px!important;min-height:68px!important}.stat-card h3{font-size:15px!important;line-height:1.15!important;margin-top:3px!important}.stat-card p,.stat-card span,.stat-card div{font-size:10.5px!important}.stat-icon-wrap{width:28px!important;height:28px!important;border-radius:8px!important;margin-bottom:5px!important}.stat-icon-wrap .material-symbols-rounded{font-size:16px!important}.chart-box,.card,.container,.panel,.payments-card{border-radius:10px!important;padding:10px!important}.charts,.dashboard-grid,.dash-main-grid{gap:10px!important}.chart-box p,.card h3,.panel h3{font-size:12px!important;margin-bottom:6px!important}table{font-size:11.5px!important}thead th{font-size:10px!important;padding:7px!important}tbody td{padding:7px!important}.btn{padding:6px 10px!important;font-size:11.5px!important;border-radius:6px!important}.icon-btn{width:26px!important;height:26px!important}.page-header{margin-bottom:10px!important}.page-header h2,.topbar h2{font-size:15px!important}(max-width:900px){:root{--sidebar-w:160px}.sidebar{width:160px!important}.content{margin-left:160px!important}.topbar{left:160px!important}.stats{max-width:none!important}}


/* =========================================================
   PATCH FINAL — Compact exact photo
   - Bonjour réduit
   - 3 cartes plus compactes
   - Navigation sidebar compacte
   - Header compact
========================================================= */
:root{
  --sidebar-w:176px;
}
html{
  zoom:.88;
}
body{
  background:#f4f5f7;
}
.sidebar{
  width:var(--sidebar-w) !important;
  padding:12px 10px !important;
  background:var(--soft-bg) !important;
  border-right:1px solid var(--line) !important;
}
.logo{
  gap:8px !important;
  padding-bottom:10px !important;
  margin-bottom:4px !important;
  border-bottom:1px solid var(--line) !important;
}
.menu{
  margin-top:4px !important;
  gap:2px !important;
  flex:1;
}
.menu li{
  padding:4px 8px !important;
  font-size:11px !important;
  height:auto !important;
  min-height:0 !important;
  gap:7px !important;
  border-radius:8px !important;
  margin-bottom:0 !important;
  line-height:1.2 !important;
}
.menu li span,
.menu li .material-symbols-rounded{
  font-size:16px !important;
}
.menu li.logout{
  margin-top:auto;
}
.content{
  margin-left:var(--sidebar-w) !important;
  padding:10px 12px !important;
  padding-top:50px !important;
}
.topbar{
  left:var(--sidebar-w) !important;
  padding:6px 12px !important;
  min-height:42px !important;
  gap:4px !important;
}
.tb-icon-btn{
  width:28px !important;
  height:28px !important;
  border-radius:8px !important;
}
.tb-icon-btn .material-symbols-rounded{
  font-size:15px !important;
}
.user-box{
  padding:3px 7px 3px 3px !important;
  gap:6px !important;
  border-radius:9px !important;
}
.user-avatar{
  width:24px !important;
  height:24px !important;
  border-radius:7px !important;
  font-size:11px !important;
}
.user-name{
  font-size:10.5px !important;
}
.user-role{
  font-size:9px !important;
}
.dash-welcome{
  padding:10px 14px !important;
  border-radius:10px !important;
  margin-bottom:9px !important;
  min-height:52px !important;
}
.dash-welcome-title{
  font-size:13px !important;
  font-weight:650 !important;
  margin-bottom:1px !important;
  letter-spacing:-.1px !important;
}
.dash-welcome-sub{
  font-size:10px !important;
  color:rgba(255,255,255,.58) !important;
  line-height:1.25 !important;
}
.dash-date-badge{
  padding:5px 10px !important;
  font-size:10px !important;
  gap:5px !important;
}
.dash-date-badge .material-symbols-rounded{
  font-size:14px !important;
}
.stats:not(.small){
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:6px !important;
  max-width:600px !important;
  margin-bottom:9px !important;
}
.stat-card{
  padding:8px 9px !important;
  border-radius:8px !important;
  font-size:10px !important;
  border-left-width:3px !important;
}
.stat-card h3{
  font-size:14px !important;
  margin-top:2px !important;
  line-height:1.15 !important;
}
.stat-card p,
.stat-card > span,
.stat-card > div:not(.stat-icon-wrap){
  font-size:10px !important;
}
.stat-icon-wrap{
  width:26px !important;
  height:26px !important;
  border-radius:7px !important;
  margin-bottom:4px !important;
}
.stat-icon-wrap .material-symbols-rounded{
  font-size:15px !important;
}
.page-header{
  margin-bottom:9px !important;
}
.page-header h2,
.topbar h2{
  font-size:15px !important;
}
.card,.container,.chart-box,.panel{
  border-radius:9px !important;
}



/* ===== BIENS — breadcrumb identique Bureau + espacement topbar ===== */
#page-biens{
  padding-top:18px !important;
}
#page-biens .biens-page-header{
  margin-top:14px !important;
}
#page-biens .biens-top-breadcrumb{
  position:fixed !important;
  top:0 !important;
  left:var(--sidebar-w) !important;
  height:56px !important;
  z-index:55 !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:0 20px !important;
  margin:0 !important;
  font-size:15px !important;
  font-weight:500 !important;
  color:#222 !important;
  pointer-events:none !important;
}
#page-biens .biens-top-breadcrumb .dash-breadcrumb-home{
  width:auto !important;
  height:auto !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#555 !important;
  padding:0 !important;
}
#page-biens .biens-top-breadcrumb .dash-breadcrumb-home .material-symbols-rounded{
  font-size:20px !important;
}
#page-biens .biens-top-breadcrumb .dash-breadcrumb-name{
  height:auto !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  color:#222 !important;
  font-size:15px !important;
  font-weight:500 !important;
}
#page-biens .biens-top-breadcrumb .dash-breadcrumb-name:before{
  display:none !important;
}
body.dark #page-biens .biens-top-breadcrumb,
body.dark #page-biens .biens-top-breadcrumb .dash-breadcrumb-home,
body.dark #page-biens .biens-top-breadcrumb .dash-breadcrumb-name{
  color:#e5e5e5 !important;
}



/* =========================================================
   GLOBAL PREMIUM BREADCRUMB + TOPBAR SPACING — 2026-05
========================================================= */
.content{
  margin-left: var(--sidebar-w) !important;
  padding: 0 24px 28px !important;
  padding-top: 122px !important;
  min-height: 100vh !important;
}
.page{
  margin-top: 18px !important;
}
.gp-global-breadcrumb{
  margin: 0 0 20px 0 !important;
  position: relative !important;
  z-index: 5 !important;
}
.breadcrumb-box{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #fff !important;
  padding: 12px 18px !important;
  border-radius: 16px !important;
  border: 1px solid #ece8dc !important;
  box-shadow: 0 6px 18px rgba(20,20,20,.06) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #4b5563 !important;
}
.breadcrumb-box span{
  display: inline-flex !important;
  align-items: center !important;
}
.breadcrumb-box .material-symbols-rounded{
  font-size: 20px !important;
  color: var(--gold) !important;
}
.breadcrumb-sep{
  opacity: .45 !important;
  font-weight: 900 !important;
}
.breadcrumb-link{
  cursor: pointer !important;
  transition: .15s !important;
}
.breadcrumb-link:hover{
  color: var(--gold) !important;
}
body.dark .breadcrumb-box{
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #ddd !important;
}
/* évite les doublons avec les anciens breadcrumbs internes */
#page-dashboard .dash-breadcrumb,
#page-biens .biens-top-breadcrumb{
  display: none !important;
}
@media(max-width: 600px){
  .content{
    margin-left: 64px !important;
    padding: 0 14px 22px !important;
    padding-top: 104px !important;
  }
  .breadcrumb-box{
    padding: 10px 14px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }
}



/* ===== PATCH FINAL — Breadcrumb dans la topbar + espace contenu ===== */
.topbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  height:64px !important;
  min-height:64px !important;
  padding:0 24px !important;
}
.topbar-breadcrumb{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
}
.topbar .breadcrumb-box{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  color:#1f2937 !important;
  font-size:15px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.topbar .breadcrumb-box .material-symbols-rounded{
  font-size:22px !important;
  color:var(--gold) !important;
}
.topbar .breadcrumb-link{
  cursor:pointer !important;
}
.topbar .breadcrumb-link:hover{
  color:var(--gold) !important;
}
.topbar .breadcrumb-sep{
  opacity:.45 !important;
  font-weight:600 !important;
}
.topbar .top-icons{
  flex:0 0 auto !important;
  margin-left:auto !important;
}
.content{
  padding-top:116px !important;
}
.page{
  margin-top:18px !important;
}
/* On masque l'ancien fil d'Ariane interne pour éviter les doublons dans les pages */
.page .dash-breadcrumb{
  display:none !important;
}
body.dark .topbar .breadcrumb-box{
  color:#f3f4f6 !important;
}
@media(max-width:900px){
  .topbar{height:58px !important;min-height:58px !important;padding:0 12px !important;gap:10px !important;}
  .topbar .breadcrumb-box{font-size:13px !important;gap:6px !important;}
  .topbar .breadcrumb-box .material-symbols-rounded{font-size:18px !important;}
  .content{padding-top:92px !important;}
}


/* ===== PROPRIÉTAIRES — VUE CARTES STYLE BIENS ===== */
.proprietaires-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px;flex-wrap:wrap}
.proprietaires-card{background:white;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.07);border:1px solid #f0f0f0;cursor:pointer;transition:.18s;position:relative}
.proprietaires-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.proprietaires-card-photo{height:80px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);display:flex;align-items:center;justify-content:center;overflow:hidden}
.proprietaires-card-photo img{width:100%;height:100%;object-fit:cover}
.proprietaire-detail-tab.active,.bien-detail-tab.active{color:var(--gold)!important;border-bottom-color:var(--gold)!important;font-weight:800!important}
.prop-doc-drop{border:2px dashed #e5e7eb;border-radius:12px;padding:18px;text-align:center;background:#fafafa;color:#9ca3af;transition:.15s}
.prop-doc-drop.dragover{border-color:var(--gold);background:#fdf9ec;color:#c48f05}
body.dark .proprietaires-card,body.dark .prop-detail-card{background:#1e1e1e;border-color:#2a2a38}
body.dark .prop-doc-drop{background:#181824;border-color:#2a2a38}


/* ===== EXPORT DROPDOWN UNIFIÉ — style page Biens ===== */
.gp-export-wrap{position:relative;display:inline-flex}
.gp-export-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:white;color:#374151;border:1px solid #e5e7eb;border-radius:9px;font-size:12.5px;font-weight:650;cursor:pointer;transition:.15s;font-family:inherit;box-shadow:0 1px 4px rgba(0,0,0,.03)}
.gp-export-btn:hover{border-color:var(--gold);box-shadow:0 3px 10px rgba(212,175,55,.14)}
.gp-export-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);background:white;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.13);border:1px solid #f0f0f0;overflow:hidden;min-width:158px;z-index:80}
.gp-export-menu.show{display:block}
.gp-export-item{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;cursor:pointer;color:#374151;transition:.12s;white-space:nowrap}
.gp-export-item:hover{background:#fdf9ec}
.gp-export-sep{height:1px;background:#f5f5f5}
body.dark .gp-export-btn{background:#1e1e1e;color:#ddd;border-color:#2a2a38}
body.dark .gp-export-menu{background:#1e1e1e;border-color:#2a2a38}
body.dark .gp-export-item{color:#ddd}
body.dark .gp-export-item:hover{background:#2a2a38}
body.dark .gp-export-sep{background:#2a2a38}

/* ===== LOCATAIRES MODERNE DISCRET ===== */
.locataires-modern-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.locataires-modern-title h2{font-size:17px;font-weight:850;color:#111;margin:0 0 2px}
.locataires-modern-title p{font-size:11px;color:#9ca3af;margin:0}
.locataires-modern-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.locataires-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.loc-kpi{background:white;border:1px solid #eee;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.loc-kpi-icon{width:36px;height:36px;border-radius:11px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0}
.loc-kpi-icon .material-symbols-rounded{font-size:19px}.loc-kpi-label{font-size:10px;text-transform:uppercase;font-weight:800;color:#8a8f98;margin-bottom:3px}.loc-kpi-val{font-size:20px;font-weight:900;color:#111;line-height:1}
.locataires-toolbar{background:white;border:1px solid #eee;border-radius:12px;padding:10px 12px;margin-bottom:14px;box-shadow:0 1px 6px rgba(0,0,0,.035);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.loc-search{display:flex;align-items:center;gap:7px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:9px;padding:6px 10px;width:300px;max-width:100%}
.loc-search input{border:none;background:transparent;outline:none;width:100%;font-size:12.5px;padding:0;color:#111}.loc-filter{font-size:12.5px;height:32px}.loc-count{font-size:11px;color:#9ca3af;margin-left:auto;white-space:nowrap}
.locataires-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:13px}.locataire-card{background:white;border:1px solid #ececec;border-radius:14px;padding:14px;box-shadow:0 3px 12px rgba(0,0,0,.045);transition:.18s;cursor:pointer;position:relative;overflow:hidden}.locataire-card:hover{transform:translateY(-2px);border-color:#e8d38b;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.locataire-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.loc-photo{width:50px;height:50px;border-radius:14px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-weight:850;flex-shrink:0}.loc-photo img{width:100%;height:100%;object-fit:cover}.loc-main{min-width:0;flex:1}.loc-name{font-size:13.5px;font-weight:850;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-meta{font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.loc-badge{font-size:10.5px;font-weight:750;padding:3px 8px;border-radius:999px;background:#ecfdf5;color:#15803d;display:inline-flex}.loc-badge.inactive{background:#f3f4f6;color:#6b7280}.loc-info{display:grid;gap:7px;margin-top:10px}.loc-line{display:flex;align-items:center;gap:7px;color:#555;font-size:11.5px;min-width:0}.loc-line .material-symbols-rounded{font-size:15px;color:#9ca3af}.loc-line span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #f1f1f1}.loc-empty{text-align:center;padding:55px 20px;color:#9ca3af}.loc-empty .material-symbols-rounded{font-size:54px;opacity:.4;display:block;margin-bottom:8px}
body.dark .locataires-modern-title h2,body.dark .loc-kpi-val,body.dark .loc-name{color:#eee}body.dark .loc-kpi,body.dark .locataires-toolbar,body.dark .locataire-card{background:#1e1e1e;border-color:#2a2a38}body.dark .loc-search{background:#181824;border-color:#2a2a38}body.dark .loc-search input{color:#eee}body.dark .loc-line{color:#ccc}body.dark .loc-actions{border-color:#2a2a38}
@media(max-width:800px){.locataires-kpis{grid-template-columns:1fr}.loc-count{margin-left:0}.locataires-grid{grid-template-columns:1fr}}

/* ===== LOCATAIRES DOCUMENTS MODAL ===== */
.icon-doc{background:#fef9c3;color:#92400e}
.icon-doc:hover{background:#facc15;color:#000}
.loc-doc-drop{border:2px dashed #d9d9e3;border-radius:14px;padding:18px;text-align:center;background:#fafafa;color:#777;cursor:pointer;transition:.18s;margin:12px 0}
.loc-doc-drop:hover,.loc-doc-drop.dragover{border-color:var(--gold);background:#fffaf0;color:#111}
.loc-doc-drop .material-symbols-rounded{font-size:32px;color:var(--gold);display:block;margin-bottom:6px}
.loc-doc-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.loc-doc-list{display:grid;gap:10px;margin-top:14px}
.loc-doc-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid #eee;border-radius:12px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.035)}
.loc-doc-preview{width:54px;height:54px;border-radius:10px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#9ca3af}
.loc-doc-preview img{width:100%;height:100%;object-fit:cover}.loc-doc-preview iframe{width:80px;height:80px;border:0;transform:scale(.75)}
.loc-doc-title{font-size:13px;font-weight:800;color:#111}.loc-doc-meta{font-size:11px;color:#9ca3af;margin-top:2px}.loc-doc-actions{display:flex;gap:6px}
.loc-doc-empty{text-align:center;color:#9ca3af;font-size:13px;padding:18px;border:1px dashed #e5e7eb;border-radius:12px;background:#fafafa}
body.dark .loc-doc-drop,body.dark .loc-doc-card,body.dark .loc-doc-empty{background:#181824;border-color:#2a2a38;color:#bbb}body.dark .loc-doc-title{color:#eee}body.dark .loc-doc-preview{background:#2a2a38}
@media(max-width:700px){.loc-doc-form{grid-template-columns:1fr}.loc-doc-card{grid-template-columns:44px 1fr}.loc-doc-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:900px){}
@media(max-width:900px){}



/* ===== V19 — Harmonisation exacte sur la page Locataires + paiements alignés ===== */
/* Même taille de titres/sous-titres que Locataires */
.proprietaires-page-header,.biens-page-header,.page-hero,.page-header,.locataires-modern-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  padding:0!important;
  margin:0 0 14px!important;
  background:transparent!important;
  box-shadow:none!important;
  border-left:none!important;
  border-radius:0!important;
}
.proprietaires-page-header h2,.biens-page-header h2,.page-hero-text h3,.page-header h2,.locataires-modern-title h2{
  font-size:17px!important;
  font-weight:850!important;
  line-height:1.12!important;
  margin:0 0 2px!important;
  letter-spacing:0!important;
  color:#111!important;
}
.proprietaires-page-header p,.biens-page-header p,.page-hero-text p,.page-header p,.locataires-modern-title p{
  font-size:11px!important;
  line-height:1.25!important;
  margin:0!important;
  color:#9ca3af!important;
}
.proprietaires-page-header>div:last-child,.biens-page-header>div:last-child,.page-hero-actions,.page-header>div:last-child,.locataires-modern-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
/* Même taille de boutons que Locataires */
.proprietaires-page-header button,.biens-page-header button,.page-hero-actions .btn,.page-header .btn,.locataires-modern-actions .btn,.gp-export-btn{
  min-height:38px!important;
  height:auto!important;
  border-radius:10px!important;
  padding:8px 14px!important;
  font-size:13px!important;
  font-weight:700!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
}
.proprietaires-page-header button span,.biens-page-header button span,.page-hero-actions .material-symbols-rounded,.page-header .material-symbols-rounded,.locataires-modern-actions .material-symbols-rounded,.gp-export-btn .material-symbols-rounded{
  font-size:15px!important;
}
.proprietaires-page-header .btn-primary,.biens-page-header .btn-primary,.page-hero-actions .btn-primary,.page-header .btn-primary,.locataires-modern-actions .btn-primary{
  box-shadow:0 4px 12px rgba(212,175,55,.22)!important;
}
body.dark .proprietaires-page-header h2,body.dark .biens-page-header h2,body.dark .page-hero-text h3,body.dark .page-header h2,body.dark .locataires-modern-title h2{color:#eee!important}

/* Page Paiements : les 4 cartes KPI restent sur une seule ligne, Montant en retard aligné */
#page-paiements .stats.small{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
}
#page-paiements .stats.small .mini-card{
  min-width:0!important;
  width:100%!important;
  min-height:78px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:5px!important;
}
#page-paiements .stats.small .mini-card span{
  font-size:12px!important;
  line-height:1.15!important;
  margin:0!important;
}
#page-paiements .stats.small .mini-card strong{
  font-size:18px!important;
  line-height:1.05!important;
  margin:0!important;
}
@media(max-width:760px){
  #page-paiements .stats.small{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){}


/* ===== V25 — Full Agenda Modal ===== */
#fullAgendaModal.open{display:flex}
.fam-day{min-height:62px;border:1px solid #edf0f4;border-radius:10px;background:#fff;padding:6px;cursor:pointer;transition:.14s;display:flex;flex-direction:column;gap:3px}
.fam-day:hover{border-color:rgba(212,175,55,.5);box-shadow:0 4px 12px rgba(212,175,55,.1)}
.fam-day.fam-muted{background:#f8fafc;color:#cbd5e1}
.fam-day.fam-today{border-color:var(--gold);background:#fffdf5}
.fam-day.fam-selected{background:#111827;color:#fff;border-color:#111827}
.fam-day.fam-selected .fam-day-num{color:#fff}
.fam-day-num{font-size:11px;font-weight:900}
.fam-day-dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto}
.fam-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}
.fam-dot.high{background:var(--red)}
.fam-list-item{border:1px solid #edf0f4;border-radius:12px;padding:10px 11px;margin-bottom:6px;cursor:pointer;transition:.13s;display:flex;gap:8px;align-items:flex-start}
.fam-list-item:hover{border-color:rgba(212,175,55,.4);box-shadow:0 4px 12px rgba(15,23,42,.05)}
.fam-list-item.fam-done{opacity:.55}
.fam-list-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:4px}
.fam-list-dot.high{background:var(--red)}
.fam-list-title{font-size:12.5px;font-weight:900;color:#111;line-height:1.2}
.fam-list-meta{font-size:10.5px;color:#94a3b8;margin-top:3px}
.fam-check-btn{width:24px;height:24px;border-radius:8px;border:1px solid #e5e7eb;background:#f8fafc;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:.12s}
.fam-check-btn.done{background:#dcfce7;border-color:#bbf7d0;color:#166534}
body.dark #fullAgendaModal>div{background:#1e1e1e}
body.dark .fam-day{background:#181824;border-color:#2a2a38}
body.dark .fam-day.fam-today{background:#1a1a0e;border-color:var(--gold)}
body.dark .fam-day.fam-selected{background:var(--gold);color:#000}
body.dark .fam-list-item{background:#181824;border-color:#2a2a38}
body.dark .fam-list-title{color:#eee}

/* ===== V24 — Agenda popup dropdown topbar ===== */
#agendaPopup{animation:agendaPopIn .18s cubic-bezier(.16,1,.3,1)}
@keyframes agendaPopIn{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
#agendaPopupList .ag-pop-item{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:11px;cursor:pointer;transition:.14s;border:1px solid transparent}
#agendaPopupList .ag-pop-item:hover{background:#fffdf5;border-color:rgba(212,175,55,.3)}
#agendaPopupList .ag-pop-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:4px}
#agendaPopupList .ag-pop-dot.high{background:var(--red)}
#agendaPopupList .ag-pop-dot.done-dot{background:#16a34a}
#agendaPopupList .ag-pop-title{font-size:12.5px;font-weight:800;color:#111;line-height:1.2}
#agendaPopupList .ag-pop-meta{font-size:10.5px;color:#94a3b8;margin-top:2px}
#agendaPopupList .ag-pop-empty{text-align:center;padding:28px 14px;color:#94a3b8;font-size:12px}
#agendaPopupList .ag-pop-empty .material-symbols-rounded{font-size:38px;color:#e2e8f0;display:block;margin-bottom:6px}

#agendaPopupList .ag-pop-event{border:1px solid #e5e7eb;border-radius:8px;margin:0 0 10px;padding:11px 12px;color:#555;font-size:12px;cursor:pointer;transition:.14s;background:#fff}
#agendaPopupList .ag-pop-event:hover{background:#fffdf5;border-color:rgba(212,175,55,.35)}
#agendaPopupList .ag-pop-event-title{font-size:14px;color:#c48f05;margin-bottom:6px;display:flex;align-items:center;gap:6px;font-weight:500}
#agendaPopupList .ag-pop-event-line{display:flex;align-items:center;gap:6px;margin:3px 0;color:#374151}
#agendaPopupList .ag-pop-event-line .material-symbols-rounded{font-size:14px;color:#777}
body.dark #agendaPopupList .ag-pop-event{background:#1e1e1e;border-color:#2a2a38;color:#ddd}
body.dark #agendaPopupList .ag-pop-event:hover{background:#20202b}
body.dark #agendaPopupList .ag-pop-event-title{color:#d4af37}
body.dark #agendaPopup{background:#1e1e1e;border-color:#2a2a38}
body.dark #agendaPopup>div{border-color:#2a2a38!important}
body.dark #agendaPopup [style*="background:#fffdf8"]{background:#181824!important}
body.dark #agendaPopup [style*="background:#f8fafc"]{background:#181824!important}
body.dark #agendaPopup [style*="background:white"]{background:#1e1e1e!important;border-color:#2a2a38!important;color:#eee!important}
body.dark #agendaPopupList .ag-pop-item:hover{background:#20202b}
body.dark #agendaPopupList .ag-pop-title{color:#eee}
body.dark #agendaTopbarBtn.active-popup{background:var(--gold)!important;color:#000!important}

/* ===== V23 — Agenda utilisateur connecté à l'icône calendrier ===== */
.agenda-page{display:flex;flex-direction:column;gap:14px}.agenda-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2px}.agenda-header h2{font-size:20px!important;font-weight:900!important;line-height:1.15!important;margin:0 0 4px;color:#000}.agenda-header p{font-size:13px;color:#9ca3af;margin:0}.agenda-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.agenda-kpi{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 4px 18px rgba(15,23,42,.06);display:flex;align-items:center;gap:12px;border:1px solid #edf0f4}.agenda-kpi>span{width:38px;height:38px;border-radius:12px;background:#f8fafc;color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:21px}.agenda-kpi small{display:block;font-size:11px;color:#94a3b8;font-weight:800;text-transform:uppercase}.agenda-kpi strong{font-size:21px;color:#111;line-height:1}.agenda-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px}.agenda-calendar-card,.agenda-list-card{background:#fff;border:1px solid #edf0f4;border-radius:18px;box-shadow:0 8px 30px rgba(15,23,42,.07);overflow:hidden}.agenda-calendar-head{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #edf0f4}.agenda-calendar-head h3{font-size:15px;font-weight:900;color:#111;text-transform:capitalize}.agenda-calendar-head button,.agenda-mini-add{width:34px;height:34px;border-radius:11px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b}.agenda-calendar-head button:hover,.agenda-mini-add:hover{border-color:var(--gold);color:#111}.agenda-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:12px 14px 8px;gap:8px}.agenda-weekdays span{text-align:center;font-size:10.5px;font-weight:900;color:#94a3b8;text-transform:uppercase}.agenda-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:0 14px 16px}.agenda-day{min-height:86px;border:1px solid #edf0f4;border-radius:14px;background:#fff;padding:9px;cursor:pointer;transition:.16s;display:flex;flex-direction:column;gap:6px}.agenda-day:hover{border-color:rgba(212,175,55,.55);box-shadow:0 6px 18px rgba(212,175,55,.08)}.agenda-day.muted{background:#f8fafc;color:#cbd5e1}.agenda-day.today{border-color:var(--gold);background:#fffdf5}.agenda-day.selected{background:#111827;color:#fff;border-color:#111827}.agenda-day-number{font-size:12px;font-weight:900}.agenda-day-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.agenda-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}.agenda-dot.high{background:var(--red)}.agenda-list-card{display:flex;flex-direction:column;min-height:520px}.agenda-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid #edf0f4}.agenda-list-head h3{font-size:15px;font-weight:900;color:#111;margin:0}.agenda-list-head p{font-size:12px;color:#94a3b8;margin:2px 0 0}.agenda-list{padding:12px;overflow:auto;max-height:600px}.agenda-item{border:1px solid #edf0f4;border-radius:14px;padding:12px;margin-bottom:8px;background:#fff;display:flex;gap:10px;align-items:flex-start;cursor:pointer;transition:.16s}.agenda-item:hover{border-color:rgba(212,175,55,.45);box-shadow:0 6px 18px rgba(15,23,42,.05)}.agenda-item.done{opacity:.6}.agenda-check{width:26px;height:26px;border-radius:9px;border:1px solid #e5e7eb;background:#f8fafc;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agenda-item.done .agenda-check{background:#dcfce7;color:#166534;border-color:#bbf7d0}.agenda-item-body{min-width:0;flex:1}.agenda-item-title{font-size:13px;font-weight:900;color:#111;margin-bottom:4px}.agenda-item-meta{display:flex;gap:6px;flex-wrap:wrap}.agenda-chip{font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;background:#f1f5f9;color:#64748b}.agenda-chip.high{background:#fee2e2;color:#991b1b}.agenda-note{font-size:12px;color:#64748b;margin-top:7px;line-height:1.4}.agenda-empty{height:280px;display:flex;align-items:center;justify-content:center;text-align:center;color:#94a3b8}.agenda-empty .material-symbols-rounded{font-size:48px;color:#e2e8f0;display:block;margin-bottom:8px}.agenda-modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:700;align-items:center;justify-content:center}.agenda-modal.open{display:flex}.agenda-modal-box{width:560px;max-width:95vw;max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 25px 80px rgba(15,23,42,.25)}.agenda-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.agenda-modal-head h3{font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px}.agenda-modal-head h3 span{color:var(--gold)}.agenda-modal-head button{border:none;background:transparent;font-size:22px;cursor:pointer;color:#64748b}body.dark .agenda-header h2,body.dark .agenda-calendar-head h3,body.dark .agenda-kpi strong,body.dark .agenda-list-head h3,body.dark .agenda-item-title,body.dark .agenda-modal-head h3{color:#eee!important}body.dark .agenda-kpi,body.dark .agenda-calendar-card,body.dark .agenda-list-card,body.dark .agenda-day,body.dark .agenda-item,body.dark .agenda-modal-box{background:#1e1e1e;border-color:#2a2a38}body.dark .agenda-calendar-head,body.dark .agenda-list-head{border-color:#2a2a38}body.dark .agenda-day.muted,body.dark .agenda-check{background:#181824}body.dark .agenda-day.selected{background:var(--gold);color:#000;border-color:var(--gold)}body.dark .agenda-note{color:#aaa}@media(max-width:900px){.agenda-layout{grid-template-columns:1fr}.agenda-kpis{grid-template-columns:1fr}.agenda-day{min-height:68px}.agenda-header{flex-direction:column}.agenda-header .btn{width:100%;justify-content:center}}



/* ===== Corrections agenda/revenus demandées ===== */
#agendaModal.agenda-modal{z-index:1200!important;}
#agendaModal .agenda-modal-box{position:relative;z-index:1201!important;}
#agendaPopup .ag-pop-new-btn{display:none!important;}
.revenus-panel{width:100%!important;}
.revenus-panel #revenusTabs .dash-tab[onclick*="12m"],
.revenus-panel #chartTabs .dash-tab[onclick*="12m"]{display:none!important;}
.dash-revenus-layout{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.35fr)!important;gap:18px!important;width:100%!important;}
.dash-revenue-box,.dash-chart-wrap{min-height:360px!important;}
.dash-chart-wrap{width:100%!important;}
.dash-chart-card{height:300px!important;min-height:300px!important;}
.dash-chart-card canvas{max-height:295px!important;}
.dash-agenda-card{display:none!important;}
@media(max-width:1100px){.dash-chart-card{height:260px!important;min-height:260px!important}}


/* ===== PARAMÈTRES COMPACTS — mise à jour ===== */
#page-parametres .cfg-wrap{max-width:none;width:100%;gap:12px}
#page-parametres .cfg-logo-card{padding:18px 22px;border-radius:14px;margin-bottom:0}
#page-parametres .cfg-logo-badge{width:80px;height:80px;border-radius:12px;padding:0;overflow:hidden;background:#0a0a0a}
#page-parametres .cfg-logo-badge img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}
#page-parametres .cfg-logo-name{font-size:20px;letter-spacing:1.4px;color:#111!important}
#page-parametres .cfg-logo-tagline{font-size:10px;letter-spacing:2px;color:#6b7280!important}
body.dark #page-parametres .cfg-logo-tagline{color:#9ca3af!important}
body.dark #page-parametres .cfg-logo-name{color:#eee!important}
#page-parametres .cfg-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
#page-parametres .cfg-section{padding:16px 18px;border-radius:14px;min-height:100%;gap:12px}
#page-parametres .cfg-section-icon{width:36px;height:36px;border-radius:10px}
#page-parametres .cfg-section-title{margin-bottom:9px;font-size:13px}
#page-parametres .cfg-section-desc{margin-bottom:10px;font-size:11px;line-height:1.35}
#page-parametres .fgrid.g2{gap:8px}
#page-parametres .fg label{font-size:10px}
#page-parametres .fg input,#page-parametres .fg select{height:34px}
#page-parametres .cfg-data-actions{gap:7px}
#page-parametres .cfg-data-actions .btn{padding:7px 11px;font-size:12px}
#page-parametres .cfg-footer{padding:10px 14px;border-radius:12px;font-size:10.5px}
#page-paiements .pay-layout{margin-top:0}
@media(max-width:980px){#page-parametres .cfg-grid{grid-template-columns:1fr}}



/* ===== V4 — correction finale tailles Biens + bureau compact ===== */
/* Toutes les pages : même échelle que l'en-tête Biens */
.page-hero,.page-header,.locataires-modern-header,.proprietaires-page-header,.biens-page-header,
.rpt-header,.audit-header,.journal-modern-head,.cfg-wrap > .cfg-logo-card{
  min-height:58px!important;
  margin:0 0 14px!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  background:transparent!important;
  box-shadow:none!important;
  border-left:0!important;
}
.page-hero-icon{display:none!important;}
.page-hero-text h3,.page-header h2,.locataires-modern-title h2,.proprietaires-page-header h2,.biens-page-header h2,
.rpt-main-title,.audit-main-title,.journal-modern-title h2{
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.15!important;
  margin:0 0 4px!important;
  letter-spacing:-.15px!important;
  color:#000!important;
}
.page-hero-text p,.page-header p,.locataires-modern-title p,.proprietaires-page-header p,.biens-page-header p,
.rpt-subtitle,.audit-subtitle,.journal-modern-title p{
  font-size:13px!important;
  line-height:1.35!important;
  margin:0!important;
  color:#9ca3af!important;
}
.page-hero-actions,.page-header>div:last-child,.locataires-modern-actions,.proprietaires-page-header>div:last-child,.biens-page-header>div:last-child,
.rpt-actions,.audit-actions,.journal-tools{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding-top:0!important;
}
.btn,.page-hero-actions .btn,.page-header .btn,.locataires-modern-actions .btn,.proprietaires-page-header .btn,.biens-page-header .btn,
.rpt-actions .btn,.audit-actions .btn,.journal-tools .btn,.gp-export-btn,
.proprietaires-page-header button,.biens-page-header button{
  height:30px!important;
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:7px!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:0.9!important;
}
.btn .material-symbols-rounded,.page-header .material-symbols-rounded,.page-hero-actions .material-symbols-rounded,
.locataires-modern-actions .material-symbols-rounded,.proprietaires-page-header .material-symbols-rounded,.biens-page-header .material-symbols-rounded{font-size:17px!important;}
body.dark .page-hero-text h3,body.dark .page-header h2,body.dark .locataires-modern-title h2,body.dark .proprietaires-page-header h2,body.dark .biens-page-header h2{color:#eee!important;}

/* Bureau : stats + diagramme + agenda sur la même ligne */
.dash-main-grid{display:block!important;}
.dash-panel.revenus-panel{padding:12px!important;border-radius:14px!important;}
.dash-revenus-layout{
  display:grid!important;
  grid-template-columns:minmax(320px,.95fr) minmax(330px,1fr) minmax(300px,.82fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
}
.dash-revenue-box,.dash-chart-wrap,.dash-agenda-card{height:268px!important;min-height:268px!important;max-height:268px!important;}
.dash-revenue-top{height:78px!important;min-height:0!important;margin-bottom:8px!important;padding:9px!important;grid-template-columns:70px 1fr 1fr!important;border-radius:10px!important;}
.dash-money-icon{width:42px!important;height:42px!important}.dash-money-icon .material-symbols-rounded{font-size:23px!important;}
.dash-pay-stat{padding-left:10px!important}.dash-pay-stat strong{font-size:24px!important;}
.dash-money-cards{grid-template-columns:1fr 1fr!important;gap:8px!important;}
.dash-money-card{min-height:58px!important;height:58px!important;padding:7px 9px!important;border-radius:10px!important;gap:8px!important;}
.dash-mini-icon{width:31px!important;height:31px!important}.dash-mini-icon .material-symbols-rounded{font-size:17px!important;}
.dash-money-card label{font-size:8.2px!important;margin-bottom:2px!important;line-height:1.05!important;}
.dash-money-card strong{font-size:14px!important;line-height:1.05!important;}
.dash-chart-wrap{padding:10px!important;border-radius:12px!important;overflow:hidden!important;}
.dash-chart-wrap>.dash-tabs{margin:0 0 8px!important;gap:12px!important;}
.dash-chart-wrap .dash-tab{font-size:9.5px!important;padding:5px 10px 7px 0!important;}
.dash-chart-card{height:205px!important;min-height:205px!important;flex:1!important;}
.dash-chart-card canvas{max-height:200px!important;}
.dash-agenda-card{display:flex!important;flex-direction:column!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;border:1px solid #e8e4da!important;}
.dash-agenda-card .dash-panel-head{padding:12px 14px 8px!important;border-bottom:1px solid #edf0f4!important;margin:0!important;}
.dash-agenda-head-icon{width:34px;height:34px;border-radius:12px;background:#fff8e3;color:#d4af37;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dash-agenda-head-icon .material-symbols-rounded{font-size:18px!important;}
.dash-agenda-card .dash-panel-title{font-size:13px!important;font-weight:900!important;line-height:1.1!important;}
.dash-agenda-date{font-size:11px!important;color:#94a3b8!important;margin-top:2px!important;}
.dash-agenda-summary{grid-template-columns:1fr 1fr!important;margin:0!important;border-bottom:1px solid #edf0f4!important;}
.dash-agenda-summary>div{padding:10px 6px!important;border-left:1px solid #edf0f4!important;}
.dash-agenda-summary>div:first-child{border-left:0!important;}
.dash-agenda-label{font-size:10px!important;font-weight:900!important;color:#94a3b8!important;}
.dash-agenda-num{font-size:28px!important;color:#999!important;}
#homeAgendaList{flex:1!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:auto!important;padding:8px!important;}
#homeAgendaList .dash-event{width:100%!important;margin:0!important;border:0!important;background:transparent!important;color:#94a3b8!important;box-shadow:none!important;}
.dash-show-all{height:36px!important;min-height:36px!important;margin:0 10px 10px!important;width:calc(100% - 20px)!important;border-radius:10px!important;font-size:13px!important;font-weight:800!important;padding:0!important;}
@media(max-width:1250px){.dash-revenus-layout{grid-template-columns:1fr!important}.dash-revenue-box,.dash-chart-wrap,.dash-agenda-card{height:auto!important;max-height:none!important;min-height:240px!important;}}



/* =============================================================
   PATCH UI — Topbar + navigation alignées sur dashboard_gestion
   Source visuelle: dashboard_gestion_immobiliere_html (3).html
   Objectif: conserver la logique SPA existante tout en reprenant
   la sidebar blanche, le header clair, les boutons arrondis et
   le profil du fichier dashboard gestion.
============================================================= */
:root{
  --gold:#d9a313;
  --gold-bg:#fff8e5;
  --text:#16191f;
  --muted:#6b7280;
  --line:#e9edf3;
  --gray:#f7f8fb;
  --card:#fff;
  --sidebar-w:190px;
  --shadow:0 10px 30px rgba(20,24,32,.07);
}
body{background:var(--gray)!important;color:var(--text)}
.app-wrap{display:flex;min-height:100vh;background:var(--gray)}
.sidebar{
  width:var(--sidebar-w)!important;
  background:#fff!important;
  color:var(--text)!important;
  border-right:1px solid var(--line)!important;
  padding:16px 12px!important;
  box-shadow:none!important;
  gap:20px!important;
}
.sidebar .logo{
  border-bottom:none!important;
  margin-bottom:8px!important;
  padding-bottom:0!important;
  color:var(--text)!important;
}
.sidebar .logo img{
  width:38px!important;
  height:38px!important;
  border-radius:8px!important;
  
  object-fit:contain!important;
}
.sidebar .logo div span:first-child,
.sidebar .logo div span:last-child{
  color:var(--text)!important;
  opacity:1!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
/* .sidebar .logo div span:last-child{display:none} */
/* removed ::after Property */
.menu{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin-top:0!important;
  list-style:none!important;
}
.menu li{
  height:30px!important;
  padding:0 8px!important;
  border-radius:7px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#555d6b!important;
  background:transparent!important;
  border:0!important;
  font-size:12px!important;
  font-weight:600!important;
  text-align:left!important;
  transition:.2s!important;
}
.menu li span{font-size:18px!important;color:inherit!important}
.menu li:hover{background:#f5f6f9!important;color:#555d6b!important;transform:none!important}
.menu li.active{background:var(--gold-bg)!important;color:var(--gold)!important}
.menu li.logout{
  margin-top:auto!important;
  color:#555d6b!important;
}
.menu li.logout:hover{background:#f5f6f9!important;color:#dc2626!important}
.content{
  margin-left:var(--sidebar-w)!important;
  background:var(--gray)!important;
  padding:22px 18px 30px!important;
  padding-top:80px!important;
  min-height:100vh!important;
}
.topbar{
  height:58px!important;
  min-height:58px!important;
  left:var(--sidebar-w)!important;
  right:0!important;
  top:0!important;
  background:#fff!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
  padding:0 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.topbar-breadcrumb{display:none!important}
.top-icons{display:flex!important;align-items:center!important;gap:10px!important}
.tb-icon-btn{
  width:34px!important;
  height:34px!important;
  border:1px solid #dde3ec!important;
  background:#fff!important;
  border-radius:10px!important;
  color:#16191f!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transition:.2s!important;
}
.tb-icon-btn:hover{
  border-color:var(--gold)!important;
  background:#fff!important;
  color:#16191f!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.06)!important;
}
.tb-icon-btn .material-symbols-rounded{font-size:18px!important}
.tb-notif-dot{
  top:9px!important;
  right:9px!important;
  width:7px!important;
  height:7px!important;
  background:var(--gold)!important;
  border:none!important;
}
.tb-sep{height:34px!important;background:var(--line)!important;margin:0 4px!important}
.user-box{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-left:1px solid var(--line)!important;
  padding:0 0 0 16px!important;
  margin-left:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-top:none!important;
  border-right:none!important;
  border-bottom:none!important;
}
.user-box:hover{box-shadow:none!important;border-color:var(--line)!important}
.user-avatar{
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  background:var(--gold)!important;
  color:#111!important;
  font-size:12px!important;
  font-weight:800!important;
}
.user-info{line-height:1.15!important}
.user-name{font-size:13px!important;font-weight:700!important;color:var(--text)!important}
.user-role{font-size:11px!important;color:var(--muted)!important}
.user-chevron{font-size:18px!important;color:#16191f!important}
.user-menu{
  top:calc(100% + 12px)!important;
  right:0!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:0 20px 55px rgba(20,24,32,.12)!important;
}
body.dark .topbar,
body.dark .user-menu{background:#fff!important;color:var(--text)!important}
body.dark .tb-icon-btn{background:#1e1e2e!important;color:#c9cdd6!important;border-color:#2a2a38!important}
body.dark .tb-icon-btn:hover{background:var(--gold)!important;color:#000!important;border-color:var(--gold)!important;box-shadow:0 2px 8px rgba(212,175,55,.35)!important}
body.dark .content{background:var(--gray)!important;color:var(--text)!important}
body.dark .menu li{color:#555d6b!important}
body.dark .menu li.active{color:var(--gold)!important;background:var(--gold-bg)!important}
body.dark .user-name{color:var(--text)!important}
body.dark .user-role{color:var(--muted)!important}
@media(max-width:900px){
  .app-wrap{flex-direction:column!important}
  .sidebar{width:100%!important;position:static!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .content{margin-left:0!important;padding:24px 16px!important;padding-top:24px!important}
  .topbar{position:static!important;left:auto!important;height:58px!important;margin:0!important}
  .menu{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:8px!important}
}


/* ===== PATCH NAV DEMANDE UTILISATEUR — 07/05/2026 =====
   Fond nav identique topbar + items 38px + menu remonté sous logo
========================================================= */
.sidebar{
  background:#fff !important;
  color:#111 !important;
  box-shadow:1px 0 0 rgba(0,0,0,.08) !important;
  padding-top:6px !important;
}
body.dark .sidebar{
  background:#121212 !important;
}
.sidebar .logo{
  height:auto !important;
  padding-top:0 !important;
  padding-bottom:3px !important;
  margin-bottom:0 !important;
  border-bottom:0 !important;
}
.sidebar .logo span,
.sidebar .logo span:first-child,
.sidebar .logo span:last-child,
.logo-text{
  color:#111 !important;
}
body.dark .sidebar .logo span,
body.dark .sidebar .logo span:first-child,
body.dark .sidebar .logo span:last-child,
body.dark .logo-text{
  color:#eee !important;
}
.menu{
  margin-top:0 !important;
  gap:3px !important;
}
.menu li{
  height:38px !important;
  min-height:38px !important;
  padding:0 8px !important;
  font-size:14px !important;
  gap:8px !important;
  color:#555d6b !important;
  border-radius:9px !important;
}
.menu li span,
.menu li .material-symbols-rounded{
  color:#555d6b !important;
  font-size:18px !important;
}
.menu li:hover,
.menu li.active{
  background:#fff8e5 !important;
  color:#d9a313 !important;
  box-shadow:none !important;
}
.menu li:hover span,
.menu li.active span,
.menu li:hover .material-symbols-rounded,
.menu li.active .material-symbols-rounded{
  color:#d9a313 !important;
}
.menu li.logout{
  color:#dc2626 !important;
}


/* ===== PATCH TOPBAR / LOGO / BOUTONS ===== */
.topbar{
  align-items:center!important;
}
.topbar-left-title{
  display:flex!important;
  align-items:center!important;
  align-self:center!important;
  height:34px!important;
  line-height:34px!important;
  margin-left:12px!important;
  margin-top:2px!important;
  font-size:16px!important;
  font-weight:800!important;
  color:#1f2937!important;
}
body.dark .topbar-left-title{color:#eee!important}

/* Boutons topbar plus petits et discrets */
.top-icons{
  gap:6px!important;
}
.tb-icon-btn{
  width:28px!important;
  height:28px!important;
  border-radius:8px!important;
  box-shadow:0 1px 3px rgba(0,0,0,.05)!important;
}
.tb-icon-btn .material-symbols-rounded{
  font-size:15px!important;
}
.tb-notif-dot{
  top:5px!important;
  right:5px!important;
  width:5px!important;
  height:5px!important;
}
.user-box{
  padding:4px 8px 4px 4px!important;
  border-radius:10px!important;
  gap:6px!important;
}
.user-avatar{
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
}
.user-name{
  font-size:11.5px!important;
}
.user-role{
  font-size:9px!important;
}
.user-chevron{
  font-size:13px!important;
}
.tb-sep{
  height:18px!important;
  margin:0 4px!important;
}



/* ================================================================
   PATCH UI — Champs de remplissage compacts & élégants
   Style inspiré de la maquette fournie : labels flottants, bord fin,
   hauteur réduite, coins doux, focus premium.
================================================================ */
:root{
  --gp-field-h:38px;
  --gp-field-radius:8px;
  --gp-field-border:#2f3744;
  --gp-field-border-soft:#cfd5df;
  --gp-field-label-bg:#fff;
  --gp-field-label:#6b7280;
  --gp-field-focus:#7c8cff;
  --gp-field-shadow:0 0 0 3px rgba(124,140,255,.10);
}

/* Cartes de formulaires plus compactes */
.card,
.container,
.panel,
.row-modal-box{
  border-radius:12px !important;
}
.card{
  padding:16px !important;
  box-shadow:0 8px 28px rgba(31,41,55,.055) !important;
  border:1px solid #eef1f6 !important;
}
.card h3{
  font-size:14px !important;
  margin-bottom:14px !important;
  padding-bottom:8px !important;
}

/* Espacement réduit des grilles */
.fgrid{gap:12px !important;}
.fgrid.g2,.fgrid.g3{column-gap:12px !important;row-gap:12px !important;}
.form-page-grid{gap:14px !important;}

/* Groupe de champ */
.fg,
.gp-ef-field{
  position:relative !important;
  gap:0 !important;
  margin-top:2px !important;
}

/* Labels flottants sur la bordure */
.fg label,
.gp-ef-field label{
  position:absolute !important;
  top:-6px !important;
  left:12px !important;
  z-index:3 !important;
  width:auto !important;
  max-width:calc(100% - 24px) !important;
  padding:0 5px !important;
  background:var(--gp-field-label-bg) !important;
  color:var(--gp-field-label) !important;
  font-size:9.5px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}
.fg label span,
.gp-ef-field label span{color:#ef4444 !important;}

/* Tous les champs de saisie / sélection / texte */
input[type="text"],
input[type="number"],
input[type="date"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="time"],
input[type="search"],
input[type="url"],
select,
textarea,
.fg input,
.fg select,
.fg textarea,
.gp-ef-field input,
.gp-ef-field select,
.gp-ef-field textarea{
  height:var(--gp-field-h) !important;
  min-height:var(--gp-field-h) !important;
  width:100% !important;
  padding:0 11px !important;
  border:1.35px solid var(--gp-field-border) !important;
  border-radius:var(--gp-field-radius) !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  font-family:'Inter',system-ui,sans-serif !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

textarea,
.fg textarea,
.gp-ef-field textarea{
  height:auto !important;
  min-height:62px !important;
  padding:11px !important;
  line-height:1.45 !important;
  resize:vertical !important;
}

select,
.fg select,
.gp-ef-field select{
  appearance:none !important;
  -webkit-appearance:none !important;
  padding-right:34px !important;
  cursor:pointer !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 10px center !important;
  background-size:15px !important;
}

input::placeholder,
textarea::placeholder{color:#9ca3af !important;font-weight:400 !important;}

input:focus,
select:focus,
textarea:focus,
.fg input:focus,
.fg select:focus,
.fg textarea:focus,
.gp-ef-field input:focus,
.gp-ef-field select:focus,
.gp-ef-field textarea:focus{
  border-color:var(--gp-field-focus) !important;
  box-shadow:var(--gp-field-shadow) !important;
}
.fg:focus-within label,
.gp-ef-field:focus-within label{color:var(--gp-field-focus) !important;}

/* Alignement des boutons avec les champs compacts */
.btn,
.form-actions .btn{
  min-height:34px !important;
  height:34px !important;
  padding:0 14px !important;
  border-radius:7px !important;
  font-size:12px !important;
}
.form-actions{gap:8px !important;margin-top:14px !important;}

/* Mode sombre */
body.dark{
  --gp-field-label-bg:#1e1e1e;
  --gp-field-label:#a3aab7;
  --gp-field-border:#40465a;
  --gp-field-focus:#D4AF37;
  --gp-field-shadow:0 0 0 3px rgba(212,175,55,.14);
}
body.dark .card{border-color:#2a2a38 !important;box-shadow:0 8px 28px rgba(0,0,0,.24) !important;}
body.dark input[type="text"],
body.dark input[type="number"],
body.dark input[type="date"],
body.dark input[type="email"],
body.dark input[type="password"],
body.dark input[type="tel"],
body.dark input[type="time"],
body.dark input[type="search"],
body.dark input[type="url"],
body.dark select,
body.dark textarea,
body.dark .fg input,
body.dark .fg select,
body.dark .fg textarea,
body.dark .gp-ef-field input,
body.dark .gp-ef-field select,
body.dark .gp-ef-field textarea{
  background:#1e1e1e !important;
  color:#f3f4f6 !important;
  border-color:var(--gp-field-border) !important;
}
body.dark .fg label,
body.dark .gp-ef-field label{background:var(--gp-field-label-bg) !important;color:var(--gp-field-label) !important;}

@media(max-width:760px){
  .fgrid.g2,.fgrid.g3{grid-template-columns:1fr !important;}
  .card{padding:14px !important;}
}
/* ======================= FIN PATCH UI ======================= */


/* ===== LOGO SIDEBAR OVERRIDE v15 ===== */
.sidebar .logo {
  display:block!important;
  padding:8px 6px 12px!important;
  margin-bottom:4px!important;
  border-bottom:1px solid var(--line)!important;
  text-align:center!important;
}
.sidebar .logo img {
  width:100%!important;
  height:auto!important;
  max-height:60px!important;
  object-fit:contain!important;
  display:block!important;
  flex-shrink:unset!important;
  border-radius:6px!important;
  background:transparent!important;
  padding:0!important;
}
.sidebar .logo .sidebar-logo-name,
.sidebar .logo .sidebar-logo-sub,
.sidebar .logo div,
.sidebar .logo span:not(.material-symbols-rounded) {
  display:none!important;
}




/* ===== SIDEBAR LOGO v17 — pleine largeur alignée topbar ===== */
#sidebar-logo {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  height: 48px !important;
  object-fit: contain !important;
  object-position: center 60% !important;
  cursor: pointer !important;
  padding: 6px 12px !important;
  border-radius: 0 !important;
  background: #0a0a0a !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 0 var(--line) !important;
  z-index: 1 !important;
}
/* Compense la hauteur du logo absolut pour pousser le menu en dessous */
.sidebar {
  padding-top: 58px !important;
}
body.dark #sidebar-logo {
  background: #0a0a0a !important;
}


/* ===== PATCH : pagination visible Tous les retards ===== */
#page-avenir .pagination button{border:1px solid #e5e7eb;background:#fff;padding:4px 9px;border-radius:5px;font-size:11.5px;cursor:pointer;font-family:inherit}
#page-avenir .pagination button.active,#page-avenir .pagination button:hover{background:var(--gold);border-color:var(--gold);color:#111;font-weight:800}
#page-avenir .pagination button:disabled{opacity:.45;cursor:not-allowed}
body.dark #page-avenir .pagination button{background:#1e1e1e;color:#ddd;border-color:#3a3a48}

/* ── style-02.css ── */
/* Agrandir Revenus/Dépenses sur toute la largeur */
.revenus-panel{width:100%!important;padding:22px!important;border-radius:22px!important;}
@media(max-width:1100px){}
@media(max-width:720px){}@media(max-width:980px){}

/* ── style-03.css ── */
#page-journal{display:none;flex-direction:column;gap:16px}
#page-journal.active{display:flex}
#page-journal .page-hero{margin-bottom:0}
.journal-modern,.journal-agenda-integrated{width:100%}
.journal-agenda-integrated{background:linear-gradient(135deg,#fff,#fffdf6);border:1px solid #edf0f4;border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.07)}
.journal-agenda-integrated .emp-agenda-page{height:auto!important;min-height:650px!important;box-shadow:none!important;border-radius:18px!important}
body.dark .journal-agenda-integrated{background:#1e1e1e;border-color:#2a2a38}

/* ── style-04.css ── */
/* Agenda employés compact + recherche élégante */
.journal-agenda-integrated{margin-top:12px!important;padding:14px!important;border-radius:18px!important;background:#fff!important;border:1px solid #edf0f4!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important}
.journal-agenda-integrated .journal-modern-head{margin-bottom:10px!important}
.journal-agenda-integrated .journal-modern-icon{width:36px!important;height:36px!important;border-radius:12px!important}
.journal-agenda-integrated h2{font-size:16px!important}.journal-agenda-integrated p{font-size:11px!important}
.emp-agenda-page{height:430px!important;min-height:430px!important;grid-template-columns:245px minmax(0,1fr)!important;border-radius:16px!important;box-shadow:none!important}
.emp-agenda-side-head{padding:12px!important}.emp-agenda-title{font-size:13px!important;margin-bottom:9px!important}.emp-agenda-employee-list{padding:6px!important}.emp-agenda-employee{padding:7px 8px!important;border-radius:12px!important;margin-bottom:4px!important;position:relative}.emp-agenda-employee .journal-avatar{width:28px!important;height:28px!important;border-radius:10px!important;font-size:10px!important}.emp-agenda-employee .journal-name{font-size:11.5px!important}.emp-agenda-employee .journal-email{font-size:9.5px!important}.emp-agenda-employee .badge{font-size:9px!important;padding:2px 6px!important}
.emp-agenda-top{padding:10px 14px!important}.emp-agenda-big-avatar{width:34px!important;height:34px!important;border-radius:12px!important;font-size:12px!important}.emp-agenda-name{font-size:13px!important}.emp-agenda-role{font-size:10px!important}.emp-agenda-top .btn{padding:7px 10px!important;font-size:11px!important;border-radius:10px!important}
.emp-agenda-body{grid-template-columns:minmax(0,1fr) 270px!important}.emp-calendar-zone{padding:10px!important}.emp-calendar-head{margin-bottom:8px!important}.emp-calendar-head h3{font-size:13px!important}.emp-calendar-grid{gap:5px!important}.emp-weekday{font-size:9px!important;margin-bottom:4px!important}.emp-day{min-height:46px!important;border-radius:10px!important;padding:5px!important}.emp-day-num{font-size:10px!important}.emp-mission-dot{width:5px!important;height:5px!important;margin:2px 2px 0 0!important}.emp-list-head{padding:10px 12px!important}.emp-list-head h3{font-size:12px!important}.emp-list-head p{font-size:10px!important}.emp-mission-list{padding:8px!important}.emp-mission-card{padding:9px!important;border-radius:12px!important;margin-bottom:6px!important;position:relative}.emp-mission-title{font-size:11.5px!important}.emp-mission-meta{font-size:9.5px!important}.emp-mission-card .agenda-note{font-size:10.5px!important;margin-top:5px!important}.mission-done-btn{margin-top:7px;border:0;background:#dcfce7;color:#166534;font-weight:800;border-radius:9px;padding:5px 8px;font-size:10px;cursor:pointer}.mission-done-btn:hover{filter:brightness(.96)}
.journal-search.compact-search,.emp-agenda-side .journal-search{width:100%;min-width:0!important}.emp-agenda-side .journal-search input{height:32px!important;border-radius:11px!important;font-size:11px!important}
.journal-emp-card,.emp-agenda-employee{position:relative}.journal-emp-card::after,.emp-agenda-employee::after{content:'Appuyer pour voir les détails';position:absolute;left:50%;top:-8px;transform:translate(-50%,-100%) scale(.96);background:rgba(17,24,39,.95);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1px;padding:7px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 28px rgba(15,23,42,.22);opacity:0;pointer-events:none;transition:.18s;z-index:20}.journal-emp-card::before,.emp-agenda-employee::before{content:'';position:absolute;left:50%;top:-8px;transform:translate(-50%,-2px);border:6px solid transparent;border-top-color:rgba(17,24,39,.95);opacity:0;transition:.18s;z-index:21}.journal-emp-card:hover::after,.emp-agenda-employee:hover::after,.journal-emp-card:hover::before,.emp-agenda-employee:hover::before{opacity:1;transform:translate(-50%,-100%) scale(1)}.journal-emp-card:hover::before,.emp-agenda-employee:hover::before{transform:translate(-50%,-2px)}
.mission-done-inbox{margin-top:12px;background:linear-gradient(135deg,#f0fdf4,#fff);border:1px solid #bbf7d0;border-radius:18px;padding:12px 14px;box-shadow:0 8px 24px rgba(22,163,74,.07)}.mission-done-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mission-done-head div{display:flex;align-items:center;gap:8px;color:#14532d}.mission-done-head span{font-size:19px}.mission-done-head strong{font-size:13px;font-weight:950}.mission-done-head small{font-size:10px;color:#16a34a;font-weight:800}.mission-done-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.mission-done-item{background:#fff;border:1px solid #dcfce7;border-radius:13px;padding:9px 10px}.mission-done-title{font-size:11.5px;font-weight:950;color:#111}.mission-done-meta{font-size:10px;color:#64748b;margin-top:3px}.mission-done-empty{font-size:11px;color:#94a3b8;padding:4px 0}
body.dark .journal-agenda-integrated,body.dark .mission-done-item{background:#1e1e1e!important;border-color:#2a2a38!important}body.dark .mission-done-inbox{background:#132417!important;border-color:#166534!important}body.dark .mission-done-title{color:#eee!important}
@media(max-width:980px){.emp-agenda-page{height:auto!important}.emp-agenda-body{grid-template-columns:1fr!important}.emp-list-zone{min-height:220px!important}}

/* ── style-05.css ── */
/* Correctif final demandé : nav un peu plus large, texte Genius Property en or,
   et ligne sous logo parfaitement alignée avec la topbar. */
:root{
  --sidebar-w:220px !important;
  --gold:#d9a313 !important;
  --line:#e9edf3 !important;
  --sidebar-bg:#fff !important;
  --gray:#f7f8fb !important;
}
.sidebar{
  width:var(--sidebar-w) !important;
  background:#fff !important;
  padding:0 14px 14px !important;
  border-right:1px solid var(--line) !important;
  box-shadow:none !important;
}
.sidebar .logo{
  height:58px !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 -14px 12px !important;
  padding:0 14px !important;
  border-bottom:1px solid var(--line) !important;
  color:var(--gold) !important;
  overflow:hidden !important;
}
.sidebar .logo .logo-icon{
  display:none !important;
}
.sidebar .logo img{
  display:block !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:8px !important;
  object-fit:contain !important;
  background:#fff !important;
  padding:2px !important;
  flex-shrink:0 !important;
}
.sidebar .logo .logo-text,
.sidebar .logo span.logo-text,
body.dark .sidebar .logo .logo-text,
body.dark .sidebar .logo span.logo-text{
  display:block !important;
  color:var(--gold) !important;
  -webkit-text-fill-color:var(--gold) !important;
  background:none !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  opacity:1 !important;
  white-space:nowrap !important;
  max-width:155px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.sidebar .logo .sidebar-logo-name{
  display:block !important;
  color:var(--gold) !important;
  -webkit-text-fill-color:var(--gold) !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  opacity:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.dark .sidebar .logo .sidebar-logo-name{
  color:var(--gold) !important;
  -webkit-text-fill-color:var(--gold) !important;
}
.content{
  margin-left:var(--sidebar-w) !important;
  padding-top:80px !important;
}
.topbar{
  left:var(--sidebar-w) !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 18px !important;
  background:#fff !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
}
.menu{
  margin-top:0 !important;
}
@media(max-width:900px){
  .sidebar{width:100% !important;position:static !important;padding:0 14px 14px !important;}
  .sidebar .logo{margin:0 -14px 12px !important;}
  .content{margin-left:0 !important;padding-top:24px !important;}
  .topbar{left:auto !important;position:static !important;}
}

/* ── style-06.css ── */
/* =========================================================
   CORRECTION FINALE UI — filtres/recherche compacts et alignés
   Pages: Employés, Propriétaires, Locataires, Biens, Dépenses, Journal
========================================================= */
:root{--gp-field-h:30px;--gp-field-radius:9px;--gp-field-border:#e6e9ef;--gp-field-bg:#f9fafb;--gp-muted:#8b95a5;}

/* Barre compacte commune */
#page-employes .table-controls,
#page-proprietaires div:has(> div input#proprietairesSearch),
#page-locataires .locataires-toolbar,
#page-biens div:has(> div input#biensSearch),
#page-depenses .depenses-table-actions,
#page-journal .journal-tools,
#page-journal .emp-agenda-side-head{
  display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:nowrap!important;
  background:#fff!important;border:1px solid #edf0f4!important;border-radius:12px!important;
  padding:7px 9px!important;margin-bottom:10px!important;box-shadow:0 1px 5px rgba(15,23,42,.035)!important;
  overflow-x:auto!important;scrollbar-width:thin!important;
}

/* Recherche propre type pill */
#page-employes .table-controls input[type="search"],
#page-proprietaires #proprietairesSearch,
#page-locataires .loc-search input,
#page-biens #biensSearch,
#page-depenses #dep-search,
#page-journal .journal-search input{
  height:22px!important;min-height:22px!important;padding:0!important;border:none!important;background:transparent!important;
  outline:none!important;box-shadow:none!important;font-size:11.5px!important;color:#111827!important;width:100%!important;
}
#page-employes .table-controls input[type="search"]::placeholder,
#page-proprietaires #proprietairesSearch::placeholder,
#page-locataires .loc-search input::placeholder,
#page-biens #biensSearch::placeholder,
#page-depenses #dep-search::placeholder,
#page-journal .journal-search input::placeholder{color:#9aa3af!important;}

/* Wrapper des recherches : discret, propre, aligné */
#page-employes .table-controls > div:last-child,
#page-proprietaires div:has(> #proprietairesSearch),
#page-locataires .loc-search,
#page-biens div:has(> #biensSearch),
#page-journal .journal-search{
  height:var(--gp-field-h)!important;min-height:var(--gp-field-h)!important;width:220px!important;min-width:200px!important;max-width:240px!important;
  display:flex!important;align-items:center!important;gap:6px!important;background:var(--gp-field-bg)!important;
  border:1px solid var(--gp-field-border)!important;border-radius:var(--gp-field-radius)!important;padding:4px 9px!important;
  box-shadow:none!important;transition:.15s!important;
}
#page-employes .table-controls > div:last-child:focus-within,
#page-proprietaires div:has(> #proprietairesSearch):focus-within,
#page-locataires .loc-search:focus-within,
#page-biens div:has(> #biensSearch):focus-within,
#page-journal .journal-search:focus-within{
  border-color:var(--gold)!important;background:#fffdf5!important;box-shadow:0 0 0 3px rgba(212,175,55,.10)!important;
}
#page-employes .table-controls > div:last-child::before{
  content:'search';font-family:'Material Symbols Rounded';font-size:15px;color:#9ca3af;line-height:1;flex:0 0 auto;
}
#page-employes .table-controls input[type="search"]{width:100%!important;max-width:none!important;}

/* Selects / fonctions / statuts petits et sur la même ligne */
#page-employes .table-controls select,
#page-locataires .loc-filter,
#page-biens #biensFilterType,
#page-biens #biensFilterStatut,
#page-depenses #dep-filter-type,
#page-depenses #dep-filter-cat,
#page-depenses #dep-filter-mois{
  height:var(--gp-field-h)!important;min-height:var(--gp-field-h)!important;border-radius:var(--gp-field-radius)!important;
  border:1px solid var(--gp-field-border)!important;background:#fff!important;color:#4b5563!important;
  padding:4px 25px 4px 9px!important;font-size:11.3px!important;font-weight:600!important;line-height:0.9!important;
  box-shadow:none!important;white-space:nowrap!important;cursor:pointer!important;
}
#page-locataires .loc-filter,#page-biens #biensFilterType,#page-biens #biensFilterStatut{min-width:122px!important;width:auto!important;}
#page-biens #biensFilterType{min-width:132px!important;}

/* Employés : organisation comme les autres */
#page-employes .page-hero{padding:14px 16px!important;border-radius:14px!important;margin-bottom:12px!important;align-items:center!important;}
#page-employes .page-hero h3{font-size:15px!important;margin-bottom:1px!important;}
#page-employes .page-hero p{font-size:11px!important;}
#page-employes .page-hero-actions{gap:6px!important;align-items:center!important;}
#page-employes .page-hero-actions .btn,#page-employes .gp-export-btn{height:31px!important;padding:6px 10px!important;border-radius:9px!important;font-size:11.3px!important;white-space:nowrap!important;}
#page-employes .container{padding:12px!important;border-radius:13px!important;}
#page-employes .table-controls{justify-content:space-between!important;}
#page-employes .table-controls > div:first-child{display:flex!important;align-items:center!important;gap:6px!important;font-size:11px!important;color:#6b7280!important;white-space:nowrap!important;margin-right:auto!important;}
#page-employes table th,#page-employes table td{font-size:11.3px!important;padding:7px 8px!important;white-space:nowrap!important;vertical-align:middle!important;}
#page-employes .badge,#page-employes .status{font-size:10px!important;padding:2px 7px!important;border-radius:99px!important;line-height:1.25!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
#page-employes .actions{gap:4px!important;flex-wrap:nowrap!important;justify-content:center!important;}
#page-employes .icon-btn{width:26px!important;height:26px!important;min-width:26px!important;}
#page-employes .icon-btn .material-symbols-rounded{font-size:17px!important;}

/* Propriétaires : recherche corrigée, plus petit et propre */
#page-proprietaires .proprietaires-page-header{margin-bottom:10px!important;align-items:center!important;}
#page-proprietaires .proprietaires-page-header h2{font-size:16px!important;}
#page-proprietaires .proprietaires-page-header p{font-size:10.5px!important;}
#page-proprietaires .proprietaires-page-header button,#page-proprietaires .gp-export-btn{height:31px!important;padding:6px 10px!important;border-radius:9px!important;font-size:11.3px!important;}
#page-proprietaires div:has(> div input#proprietairesSearch){justify-content:space-between!important;}
#page-proprietaires #proprietairesCount{font-size:10.5px!important;margin-left:auto!important;color:#9ca3af!important;white-space:nowrap!important;}
#page-proprietaires div:has(> #proprietairesSearch){width:230px!important;min-width:210px!important;}
#page-proprietaires div[style*="grid-template-columns:repeat(3,1fr)"]{gap:8px!important;margin-bottom:10px!important;}
#page-proprietaires div[style*="border-left:4px"]{padding:9px 11px!important;border-radius:10px!important;min-height:56px!important;}
#page-proprietaires #propStatTotal,#page-proprietaires #propStatBiens,#page-proprietaires #propStatActifs{font-size:18px!important;}

/* Locataires : même style, fonctions/statuts discrets */
#page-locataires .locataires-modern-header{margin-bottom:10px!important;align-items:center!important;}
#page-locataires .locataires-modern-title h2{font-size:16px!important;}
#page-locataires .locataires-modern-title p{font-size:10.5px!important;}
#page-locataires .locataires-modern-actions{gap:6px!important;}
#page-locataires .locataires-modern-actions .btn,#page-locataires .gp-export-btn{height:31px!important;padding:6px 10px!important;border-radius:9px!important;font-size:11.3px!important;}
#page-locataires .loc-kpi{padding:9px 11px!important;border-radius:10px!important;min-height:56px!important;}
#page-locataires .loc-kpi-icon{width:30px!important;height:30px!important;border-radius:9px!important;}
#page-locataires .loc-kpi-label{font-size:9.2px!important;white-space:nowrap!important;}
#page-locataires .loc-count{font-size:10.5px!important;margin-left:auto!important;white-space:nowrap!important;color:#9ca3af!important;}

/* Biens : bouton/recherche propre + filtres sur même ligne */
#page-biens .biens-page-header{margin-bottom:10px!important;align-items:center!important;}
#page-biens .biens-page-header h2{font-size:16px!important;}
#page-biens .biens-page-header p{font-size:10.5px!important;}
#page-biens .biens-page-header button{height:31px!important;padding:6px 10px!important;border-radius:9px!important;font-size:11.3px!important;}
#page-biens #biensStatCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important;}
#page-biens #biensStatCards > div{padding:9px 11px!important;border-radius:10px!important;min-height:56px!important;}
#page-biens #biensStatLoue,#page-biens #biensStatDispo,#page-biens #biensStatAttente{font-size:18px!important;}
#page-biens div:has(> div input#biensSearch){justify-content:flex-start!important;}
#page-biens div:has(> #biensSearch){width:220px!important;min-width:200px!important;}
#page-biens #biensCount{font-size:10.5px!important;margin-left:auto!important;color:#9ca3af!important;white-space:nowrap!important;}

/* Dépenses : exactement 4 contrôles sur une ligne */
#page-depenses > div[style*="grid-template-columns:1fr 220px"]{grid-template-columns:minmax(0,1fr) 200px!important;gap:10px!important;}
#page-depenses .depenses-table-actions{padding:7px!important;margin-bottom:9px!important;}
#page-depenses .depenses-table-actions > div{display:grid!important;grid-template-columns:minmax(135px,1fr) minmax(130px,1fr) minmax(115px,.8fr) minmax(150px,1.1fr)!important;gap:7px!important;width:100%!important;align-items:center!important;}
#page-depenses #dep-filter-type,#page-depenses #dep-filter-cat,#page-depenses #dep-filter-mois,#page-depenses #dep-search{width:100%!important;min-width:0!important;height:30px!important;}
#page-depenses #dep-search{border:1px solid var(--gp-field-border)!important;background:var(--gp-field-bg)!important;border-radius:var(--gp-field-radius)!important;padding:4px 9px!important;font-size:11.5px!important;}
#page-depenses table th,#page-depenses table td{font-size:11.1px!important;padding:7px!important;white-space:nowrap!important;}

/* Journal / agenda / missions : recherche et actions alignées */
#page-journal .journal-modern-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:9px!important;}
#page-journal .journal-modern-title h2{font-size:15px!important;}
#page-journal .journal-modern-title p{font-size:10.5px!important;}
#page-journal .journal-tools{margin-left:auto!important;margin-bottom:0!important;padding:6px!important;}
#page-journal .journal-tools .btn{height:30px!important;padding:5px 10px!important;border-radius:9px!important;font-size:10.8px!important;white-space:nowrap!important;}
#page-journal .emp-agenda-side-head{margin-bottom:0!important;padding:7px!important;}
#page-journal .emp-agenda-title{font-size:11px!important;white-space:nowrap!important;margin:0!important;}
#page-journal .emp-agenda-side .journal-search{flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;}
#page-journal .emp-agenda-top .btn{height:30px!important;padding:5px 10px!important;border-radius:9px!important;font-size:10.8px!important;white-space:nowrap!important;}
#page-journal .emp-agenda-name{font-size:12.3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:260px!important;}
#page-journal .emp-agenda-role{font-size:9.5px!important;}
#page-journal .mission-done-inbox,#page-journal .journal-agenda-integrated{padding:10px!important;border-radius:14px!important;margin-top:10px!important;}

/* Dark mode */
body.dark #page-employes .table-controls,
body.dark #page-proprietaires div:has(> div input#proprietairesSearch),
body.dark #page-locataires .locataires-toolbar,
body.dark #page-biens div:has(> div input#biensSearch),
body.dark #page-depenses .depenses-table-actions,
body.dark #page-journal .journal-tools,
body.dark #page-journal .emp-agenda-side-head{background:#1e1e1e!important;border-color:#2a2a38!important;}
body.dark #page-employes .table-controls > div:last-child,
body.dark #page-proprietaires div:has(> #proprietairesSearch),
body.dark #page-locataires .loc-search,
body.dark #page-biens div:has(> #biensSearch),
body.dark #page-journal .journal-search,
body.dark #page-depenses #dep-search{background:#2a2a38!important;border-color:#3a3a48!important;}
body.dark #page-employes input,
body.dark #page-proprietaires #proprietairesSearch,
body.dark #page-locataires .loc-search input,
body.dark #page-biens #biensSearch,
body.dark #page-depenses #dep-search,
body.dark #page-journal .journal-search input{color:#e5e7eb!important;}
body.dark #page-employes select,
body.dark #page-locataires .loc-filter,
body.dark #page-biens #biensFilterType,
body.dark #page-biens #biensFilterStatut,
body.dark #page-depenses select{background:#2a2a38!important;border-color:#3a3a48!important;color:#e5e7eb!important;}

@media(max-width:900px){
  #page-depenses .depenses-table-actions > div{display:flex!important;flex-wrap:nowrap!important;min-width:590px!important;}
  #page-depenses #dep-filter-type,#page-depenses #dep-filter-cat,#page-depenses #dep-filter-mois,#page-depenses #dep-search{min-width:135px!important;}
}

/* ── style-07.css ── */
body{font-family:Inter,Arial,sans-serif;margin:0;background:#f4f4f4;color:#111}.sheet{width:794px;min-height:1123px;margin:0 auto;background:#fff;padding:42px;box-sizing:border-box}.top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #D4AF37;padding-bottom:18px}.brand{display:flex;gap:14px;align-items:center}.brand h1{font-size:22px;margin:0}.brand p{font-size:11px;color:#666;margin:3px 0}.fact-title{text-align:right}.fact-title h2{font-size:34px;letter-spacing:2px;margin:0}.badge{display:inline-block;background:#fff8df;color:#8a6500;border:1px solid #ecd27a;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:800;margin-top:8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}.box{border:1px solid #eee;border-radius:14px;padding:16px}.box-title{font-size:11px;font-weight:900;color:#777;letter-spacing:.8px;text-transform:uppercase;margin-bottom:9px}.name{font-size:16px;font-weight:900;margin-bottom:6px}.meta{font-size:12px;line-height:1.65;color:#555}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.info div{border:1px solid #eee;border-radius:10px;padding:12px}.info label{display:block;font-size:10px;color:#777;font-weight:900;text-transform:uppercase}.info strong{font-size:12px}.items{width:100%;border-collapse:collapse;margin-top:12px}.items th{text-align:left;background:#111;color:#fff;padding:12px;font-size:11px;text-transform:uppercase}.items td{padding:13px;border-bottom:1px solid #eee;font-size:12px;vertical-align:top}.items td:last-child,.items th:last-child{text-align:right}.totals{width:280px;margin:22px 0 0 auto}.totals div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eee;font-size:13px}.totals .grand{font-size:18px;font-weight:900;color:#111;border-top:3px solid #D4AF37;border-bottom:0;margin-top:6px;padding-top:13px}.foot{margin-top:55px;border-top:1px solid #eee;padding-top:14px;text-align:center;color:#777;font-size:10.5px;line-height:1.6}@media print{body{background:#fff}.sheet{width:auto;min-height:auto;margin:0;padding:32px}}
@media(max-width:900px){}

/* ── style-08.css ── */
/* Agrandir Revenus/Dépenses sur toute la largeur */
.revenus-panel{width:100%!important;padding:22px!important;border-radius:22px!important;}
.dash-revenus-layout{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;width:100%!important;}
.dash-revenue-box{width:100%!important;}
.dash-revenue-top{grid-template-columns:150px 1fr 1fr!important;min-height:130px!important;padding:24px!important;}
.dash-money-icon{width:76px!important;height:76px!important}.dash-money-icon .material-symbols-rounded{font-size:38px!important}
.dash-pay-stat strong{font-size:44px!important}.dash-pay-stat span{font-size:12px!important}
.dash-money-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
.dash-money-card{min-height:112px!important;padding:18px!important;border-radius:16px!important}.dash-money-card strong{font-size:24px!important}.dash-mini-icon{width:50px!important;height:50px!important}
.dash-chart-wrap{min-height:470px!important;padding:18px!important;border-radius:18px!important}.dash-chart-card{height:390px!important}.dash-chart-card canvas{max-height:390px!important}
@media(max-width:1100px){.dash-money-cards{grid-template-columns:repeat(2,1fr)!important}.dash-revenue-top{grid-template-columns:100px 1fr 1fr!important}}
@media(max-width:720px){.dash-money-cards,.dash-revenue-top{grid-template-columns:1fr!important}.dash-pay-stat{border-left:0!important;border-top:1px solid #e6e0d3!important;padding:14px 0 0!important}}

/* Journal compact + recherche */
.journal-modern{background:linear-gradient(135deg,#fff,#fffdf6);border:1px solid #edf0f4;border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.07)}
.journal-modern-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.journal-modern-title{display:flex;align-items:center;gap:12px}.journal-modern-icon{width:42px;height:42px;border-radius:14px;background:#fff8e3;color:#c48f05;display:flex;align-items:center;justify-content:center}.journal-modern h2{font-size:18px!important;font-weight:950!important;margin:0!important;color:#111!important}.journal-modern p{font-size:12px;color:#94a3b8;margin:2px 0 0}.journal-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.journal-search{position:relative;min-width:260px}.journal-search span{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:17px;color:#94a3b8}.journal-search input{height:38px;width:100%;border:1px solid #e5e7eb;border-radius:13px;background:#fff;padding:0 12px 0 36px;font-size:12px;outline:none}.journal-search input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.12)}#journalEmployeGrid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))!important;gap:10px!important}.journal-emp-card{background:white;border-radius:14px;padding:12px;box-shadow:0 4px 14px rgba(15,23,42,.05);cursor:pointer;transition:.16s;border:1px solid #edf0f4}.journal-emp-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.55);box-shadow:0 10px 24px rgba(212,175,55,.13)}.journal-avatar{width:32px;height:32px;border-radius:11px;background:linear-gradient(135deg,var(--gold),#c4a030);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#000;flex-shrink:0}.journal-name{font-size:12px;font-weight:900;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-email{font-size:9.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-count{font-size:18px;font-weight:950;color:#111}.journal-small{font-size:9.5px;color:#94a3b8}.journal-dots{display:flex;gap:3px;align-items:center}.journal-empty{grid-column:1/-1;text-align:center;padding:38px;color:#94a3b8;font-size:13px}
body.dark .journal-modern,body.dark .journal-emp-card,body.dark .journal-search input{background:#1e1e1e;border-color:#2a2a38}body.dark .journal-modern h2,body.dark .journal-name,body.dark .journal-count{color:#eee!important}

/* Agenda employés */
.emp-agenda-page{display:grid;grid-template-columns:290px minmax(0,1fr);height:calc(100vh - 96px);min-height:640px;background:#fff;border:1px solid #edf0f4;border-radius:20px;overflow:hidden;box-shadow:0 10px 35px rgba(15,23,42,.08)}.emp-agenda-side{background:#f8fafc;border-right:1px solid #edf0f4;display:flex;flex-direction:column;min-width:0}.emp-agenda-side-head{padding:18px;border-bottom:1px solid #edf0f4}.emp-agenda-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:950;color:#111;margin-bottom:12px}.emp-agenda-title span{color:var(--gold)}.emp-agenda-employee-list{flex:1;overflow:auto;padding:8px}.emp-agenda-employee{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;cursor:pointer;border:1px solid transparent;margin-bottom:6px}.emp-agenda-employee:hover,.emp-agenda-employee.active{background:#fff;border-color:rgba(212,175,55,.45);box-shadow:0 6px 18px rgba(212,175,55,.09)}.emp-agenda-main{display:flex;flex-direction:column;min-width:0}.emp-agenda-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #edf0f4}.emp-agenda-who{display:flex;align-items:center;gap:12px}.emp-agenda-big-avatar{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,var(--gold),#c4a030);display:flex;align-items:center;justify-content:center;font-weight:950;color:#000}.emp-agenda-name{font-size:16px;font-weight:950;color:#111}.emp-agenda-role{font-size:11px;color:#94a3b8}.emp-agenda-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;flex:1;min-height:0}.emp-calendar-zone{padding:18px;overflow:auto;border-right:1px solid #edf0f4}.emp-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.emp-calendar-head h3{font-size:15px;text-transform:capitalize;color:#111}.emp-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.emp-weekday{text-align:center;font-size:10px;font-weight:900;color:#94a3b8;margin-bottom:6px}.emp-day{min-height:92px;border:1px solid #edf0f4;border-radius:14px;background:#fff;padding:9px;cursor:pointer;transition:.14s}.emp-day:hover{border-color:var(--gold);box-shadow:0 8px 18px rgba(212,175,55,.08)}.emp-day.muted{background:#f8fafc;color:#cbd5e1}.emp-day.selected{background:#111827;color:#fff;border-color:#111827}.emp-day.today{border-color:var(--gold);background:#fffdf5}.emp-day-num{font-size:12px;font-weight:950}.emp-mission-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block;margin:3px 3px 0 0}.emp-mission-dot.high{background:var(--red)}.emp-list-zone{display:flex;flex-direction:column;min-height:0}.emp-list-head{padding:16px;border-bottom:1px solid #edf0f4}.emp-list-head h3{font-size:14px;color:#111;margin:0}.emp-list-head p{font-size:11px;color:#94a3b8;margin-top:2px}.emp-mission-list{flex:1;overflow:auto;padding:10px}.emp-mission-card{border:1px solid #edf0f4;border-radius:14px;padding:12px;margin-bottom:8px;background:#fff;cursor:pointer}.emp-mission-card:hover{border-color:rgba(212,175,55,.45)}.emp-mission-title{font-size:12.5px;font-weight:950;color:#111}.emp-mission-meta{font-size:10.5px;color:#94a3b8;margin-top:4px}.emp-empty{display:flex;align-items:center;justify-content:center;text-align:center;color:#94a3b8;height:100%;font-size:12px}.emp-empty span{font-size:44px;color:#e2e8f0;display:block;margin-bottom:8px}.emp-mission-modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1250;align-items:center;justify-content:center}.emp-mission-modal.open{display:flex}.emp-mission-box{width:560px;max-width:95vw;background:#fff;border-radius:18px;padding:20px;box-shadow:0 25px 80px rgba(15,23,42,.25)}body.dark .emp-agenda-page,body.dark .emp-agenda-main,body.dark .emp-day,body.dark .emp-mission-card,body.dark .emp-mission-box{background:#1e1e1e;border-color:#2a2a38}body.dark .emp-agenda-side{background:#181824;border-color:#2a2a38}body.dark .emp-agenda-title,body.dark .emp-agenda-name,body.dark .emp-calendar-head h3,body.dark .emp-list-head h3,body.dark .emp-mission-title{color:#eee}body.dark .emp-day.muted{background:#181824}body.dark .emp-day.selected{background:var(--gold);color:#000;border-color:var(--gold)}@media(max-width:980px){.emp-agenda-page{grid-template-columns:1fr;height:auto}.emp-agenda-side{min-height:260px}.emp-agenda-body{grid-template-columns:1fr}.emp-calendar-zone{border-right:0}.emp-list-zone{min-height:360px}}

/* ── style-09.css ── */
/* Boutons texte d'action dans les en-têtes / barres d'actions */
.page-header .btn,
.biens-page-header .btn,
.audit-actions .btn,
.rpt-actions .btn,
.page-hero-actions .btn,
.page-hero-actions button,
.top-actions .btn,
.locataires-modern-actions .btn,
.proprietaires-page-header .btn,
.proprietaires-page-header button,
.biens-page-header button,
.gp-export-btn,
#page-biens .biens-page-header button,
#page-biens .biens-page-header .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  width: auto !important;
  min-width: 20px !important;
  padding: 0 8px !important;
  border-radius: 5px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  gap: 3px !important;
  box-sizing: border-box !important;
}

/* Boutons icônes d'action dans les tableaux / cartes */
.actions .icon-btn,
.gp-card-actions .icon-btn,
.bien-doc-actions .icon-btn,
.icon-btn {
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

.page-header .btn .material-symbols-rounded,
.biens-page-header .btn .material-symbols-rounded,
.audit-actions .btn .material-symbols-rounded,
.rpt-actions .btn .material-symbols-rounded,
.page-hero-actions .btn .material-symbols-rounded,
.top-actions .btn .material-symbols-rounded,
.locataires-modern-actions .btn .material-symbols-rounded,
.proprietaires-page-header .btn .material-symbols-rounded,
.gp-export-btn .material-symbols-rounded,
.actions .icon-btn .material-symbols-rounded,
.gp-card-actions .icon-btn .material-symbols-rounded,
.bien-doc-actions .icon-btn .material-symbols-rounded,
.icon-btn .material-symbols-rounded {
  font-size: 12px !important;
  line-height: 1 !important;
}

/* ── style-10.css ── */
/* Base compact */
#page-employes .table-controls,
#page-locataires .locataires-toolbar,
#page-biens [style*="FILTERS BAR"] + div,
#page-biens div:has(> #biensFilterType),
#page-depenses .depenses-table-actions,
#page-depenses .depenses-table-actions > div,
#page-journal .journal-tools,
#page-journal .emp-agenda-side-head{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
}

/* Responsive: garder une seule ligne avec défilement horizontal plutôt que casser */
@media(max-width:900px){
}

/* ── style-11.css ── */
#profilModal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:700;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
#profilModal.open{display:flex}
.profil-modal-box{background:white;border-radius:18px;width:540px;max-width:96vw;max-height:92vh;overflow-y:auto;box-shadow:0 24px 70px rgba(0,0,0,.25);animation:fadeIn .18s ease}
body.dark .profil-modal-box{background:#1e1e1e;color:#e5e5e5}
.profil-modal-header{background:linear-gradient(135deg,#0F0F0F 0%,#1a1a2e 100%);padding:24px 24px 20px;border-radius:18px 18px 0 0;position:relative}
.profil-modal-header h3{color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:0}
.profil-modal-header h3 .material-symbols-rounded{color:var(--gold);font-size:20px}
.profil-modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:8px;border:none;background:rgba(255,255,255,.1);color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:.15s}
.profil-modal-close:hover{background:rgba(255,255,255,.2)}
.profil-avatar-wrap{display:flex;flex-direction:column;align-items:center;margin-top:16px;gap:6px}
.profil-avatar-big{width:80px;height:80px;border-radius:16px;background:linear-gradient(135deg,var(--gold),#c4a030);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;color:#000;border:3px solid rgba(255,255,255,.25);overflow:hidden;cursor:pointer;transition:.2s;position:relative}
.profil-avatar-big:hover .profil-avatar-overlay{opacity:1}
.profil-avatar-big img{width:100%;height:100%;object-fit:cover;border-radius:13px}
.profil-avatar-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:.2s;border-radius:13px}
.profil-avatar-overlay .material-symbols-rounded{color:#fff;font-size:22px}
.profil-user-name{color:#fff;font-size:17px;font-weight:700;margin-top:4px}
.profil-user-email{color:rgba(255,255,255,.5);font-size:11px}
.profil-user-role{background:rgba(212,175,55,.2);border:1px solid rgba(212,175,55,.4);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-top:4px}
.profil-modal-body{padding:20px 24px 0}
.profil-section{margin-bottom:16px}
.profil-section-title{font-size:11px;font-weight:800;color:#999;letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.profil-section-title .material-symbols-rounded{font-size:14px;color:var(--gold)}
.profil-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.profil-field{display:flex;flex-direction:column;gap:4px}
.profil-field.full{grid-column:1/-1}
.profil-field label{font-size:11px;font-weight:600;color:#888}
body.dark .profil-field label{color:#9ca3af}
.profil-field input,.profil-field select{padding:7px 10px;border-radius:8px;border:1px solid #e5e7eb;font-size:13px;font-family:inherit;background:white;color:#111;transition:.15s}
.profil-field input:focus,.profil-field select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(212,175,55,.15)}
body.dark .profil-field input,body.dark .profil-field select{background:#181824;border-color:#2a2a38;color:#e5e5e5}
.profil-pass-wrap{position:relative}
.profil-pass-wrap input{width:100%;padding-right:38px;box-sizing:border-box}
.profil-pass-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;color:#9ca3af;font-size:16px;display:flex;align-items:center}
.profil-modal-footer{padding:16px 24px 22px;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid #f0f0f0;margin-top:16px}
body.dark .profil-modal-footer{border-color:#2a2a38}
.profil-droits{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.profil-droit-item{display:flex;align-items:center;justify-content:space-between;background:#f9fafb;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:500}
body.dark .profil-droit-item{background:#181824}
.profil-droit-badge{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700}
.profil-droit-badge.on{background:#dcfce7;color:#16a34a}
.profil-droit-badge.off{background:#f3f4f6;color:#9ca3af}
body.dark .profil-droit-badge.off{background:#2a2a38;color:#6b7280}.menu li.active,.menu li:hover{}.menu li.active span,.menu li:hover span{}
@media(max-width:1300px){}
@media(max-width:900px){}
@media(max-width:900px){}
@media(max-width:900px){}

/* ── style-12.css ── */
/* ── Notif count badge ── */
.tb-notif-count{
  position:absolute;top:4px;right:4px;
  min-width:16px;height:16px;border-radius:8px;
  background:var(--red);color:#fff;
  font-size:9px;font-weight:800;line-height:16px;text-align:center;
  padding:0 3px;border:1.5px solid white;pointer-events:none;
}
body.dark .tb-notif-count{border-color:#1e1e1e}

/* ── Dropdown panel base ── */
.tb-panel{
  position:fixed;top:54px;right:15px;
  width:340px;max-height:520px;
  background:white;border-radius:16px;
  box-shadow:0 12px 40px rgba(0,0,0,.15),0 2px 8px rgba(0,0,0,.08);
  border:1px solid #f0f0f0;
  opacity:0;visibility:hidden;
  transform:translateY(-8px) scale(.97);
  transition:opacity .2s ease,transform .2s cubic-bezier(.16,1,.3,1),visibility .2s;
  z-index:200;overflow:hidden;display:flex;flex-direction:column;
}
.tb-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
body.dark .tb-panel{background:#1e1e1e;border-color:#2a2a38;box-shadow:0 12px 40px rgba(0,0,0,.4)}

.tb-panel-head{
  padding:14px 16px 10px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid #f5f5f5;flex-shrink:0;
}
body.dark .tb-panel-head{border-color:#2a2a38}
.tb-panel-head h4{font-size:14px;font-weight:800;color:#111;display:flex;align-items:center;gap:8px}
body.dark .tb-panel-head h4{color:#eee}
.tb-panel-head h4 .material-symbols-rounded{font-size:18px;color:var(--gold)}
.tb-panel-close{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:18px;padding:2px;border-radius:6px;display:flex;align-items:center;transition:.15s}
.tb-panel-close:hover{color:#111;background:#f5f5f5}
body.dark .tb-panel-close:hover{color:#eee;background:#2a2a38}

.tb-panel-body{overflow-y:auto;flex:1;padding:6px 0}

/* ── Notif items ── */
.notif-item{
  display:flex;align-items:flex-start;gap:11px;
  padding:10px 16px;cursor:pointer;transition:.12s;
  border-bottom:1px solid #fafafa;
}
body.dark .notif-item{border-color:#222}
.notif-item:hover{background:#fdf9ec}
body.dark .notif-item:hover{background:#252525}
.notif-item:last-child{border-bottom:none}

.notif-icon{
  width:34px;height:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:1px;
}
.notif-icon .material-symbols-rounded{font-size:17px}
.notif-icon.red{background:#fee2e2;color:#dc2626}
.notif-icon.orange{background:#ffedd5;color:#ea580c}
.notif-icon.blue{background:#dbeafe;color:#2563eb}
.notif-icon.green{background:#dcfce7;color:#16a34a}
.notif-icon.gold{background:#fef9ec;color:#d97706}

.notif-body{flex:1;min-width:0}
.notif-title{font-size:12px;font-weight:700;color:#111;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.dark .notif-title{color:#eee}
.notif-desc{font-size:11px;color:#6b7280;line-height:1.4}
.notif-time{font-size:10px;color:#9ca3af;margin-top:3px;font-weight:500}

.notif-unread .notif-title::before{
  content:'';display:inline-block;width:6px;height:6px;
  border-radius:50%;background:var(--gold);margin-right:6px;vertical-align:middle;flex-shrink:0;
}

.notif-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:13px}
.notif-empty .material-symbols-rounded{font-size:36px;display:block;margin-bottom:8px;color:#d1d5db}

.tb-panel-foot{
  padding:10px 16px;border-top:1px solid #f5f5f5;flex-shrink:0;
  display:flex;justify-content:space-between;align-items:center;
}
body.dark .tb-panel-foot{border-color:#2a2a38}
.tb-panel-foot button{background:none;border:none;cursor:pointer;font-size:11px;font-weight:600;color:#9ca3af;font-family:inherit;padding:4px 8px;border-radius:6px;transition:.12s}
.tb-panel-foot button:hover{color:var(--gold);background:#fdf9ec}
body.dark .tb-panel-foot button:hover{background:#252525}

/* ── Section tabs (Aide) ── */
.help-tabs{display:flex;gap:4px;padding:10px 12px 0;flex-shrink:0}
.help-tab{flex:1;padding:7px 4px;border:none;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;background:#f5f5f5;color:#6b7280;transition:.15s}
.help-tab.active{background:var(--gold);color:#000}
body.dark .help-tab{background:#2a2a38;color:#aaa}
body.dark .help-tab.active{background:var(--gold);color:#000}

/* ── Help FAQ ── */
.help-section{display:none;padding:8px 0}
.help-section.active{display:block}

.help-shortcut{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;font-size:12px;border-bottom:1px solid #fafafa;transition:.12s}
body.dark .help-shortcut{border-color:#222}
.help-shortcut:hover{background:#fdf9ec}
body.dark .help-shortcut:hover{background:#252525}
.help-shortcut-label{color:#374151;font-weight:500}
body.dark .help-shortcut-label{color:#ccc}
.help-keys{display:flex;gap:4px}
.kb{display:inline-block;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:700;color:#374151;font-family:monospace}
body.dark .kb{background:#2a2a38;border-color:#3a3a48;color:#ddd}

.help-faq-item{padding:10px 16px;border-bottom:1px solid #fafafa;cursor:pointer}
body.dark .help-faq-item{border-color:#222}
.help-faq-q{font-size:12px;font-weight:700;color:#111;display:flex;align-items:center;justify-content:space-between;gap:8px}
body.dark .help-faq-q{color:#eee}
.help-faq-q .material-symbols-rounded{font-size:15px;color:#9ca3af;transition:.2s;flex-shrink:0}
.help-faq-a{font-size:11px;color:#6b7280;line-height:1.6;margin-top:6px;display:none}
.help-faq-item.open .help-faq-a{display:block}
.help-faq-item.open .help-faq-q .material-symbols-rounded{transform:rotate(180deg);color:var(--gold)}

.help-nav-item{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;font-size:12px;color:#374151;font-weight:500;border-bottom:1px solid #fafafa;transition:.12s}
body.dark .help-nav-item{color:#ccc;border-color:#222}
.help-nav-item:hover{background:#fdf9ec;color:#000}
body.dark .help-nav-item:hover{background:#252525;color:#fff}
.help-nav-icon{width:28px;height:28px;border-radius:8px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.help-nav-icon .material-symbols-rounded{font-size:15px;color:#6b7280}
body.dark .help-nav-icon{background:#2a2a38}
.help-nav-item:hover .help-nav-icon{background:var(--gold)}
.help-nav-item:hover .help-nav-icon .material-symbols-rounded{color:#000}

.help-version{padding:12px 16px;font-size:10px;color:#9ca3af;text-align:center;border-top:1px solid #f5f5f5}
body.dark .help-version{border-color:#2a2a38}
.help-version strong{color:var(--gold)}

/* ===== DASHBOARD PHOTO EXACT — override final ===== */
:root{--sidebar-w:223px;--gold:#D4AF37;--gold2:#e6ad18;--soft-bg:#f8f8f6;}
body{background:var(--soft-bg)}
/* sidebar style managed by final block */.sidebar .logo span:last-child{font-size:16px!important;color:#fff!important;opacity:.95!important;text-transform:uppercase;letter-spacing:.3px;line-height:1!important}
.menu{display:flex;flex-direction:column;gap:8px;margin-top:10px}.menu li{height:48px;border-radius:10px;padding:0 14px;font-size:18px;font-weight:500;color:#f2f2f2;gap:15px}.menu li span{font-size:25px;color:#fff}.menu li.active,.menu li:hover{}.menu li.active span,.menu li:hover span{}.menu li.logout{margin-top:auto;color:#ff4c3d!important}.menu li.logout span{color:#ff4c3d!important}.menu li.logout:hover{background:transparent!important;color:#ff4c3d!important;box-shadow:none!important}
/* menu order via HTML */
.content{margin-left:var(--sidebar-w)!important;background:var(--soft-bg)!important;padding:0 18px 18px!important;padding-top:56px!important;min-height:100vh}.topbar{left:var(--sidebar-w)!important;height:auto!important;background:var(--soft-bg)!important;padding:8px 15px!important;box-shadow:0 1px 0 var(--line)!important;justify-content:flex-end!important}.top-icons{gap:4px!important}.tb-icon-btn{width:30px!important;height:30px!important;border-radius:8px!important;border:1px solid #e0e2e7!important;background:white!important;color:#6b7280!important;box-shadow:none!important}.tb-icon-btn:hover{background:var(--gold)!important;color:#000!important;border-color:var(--gold)!important;box-shadow:0 2px 8px rgba(212,175,55,.3)!important}.tb-icon-btn .material-symbols-rounded{font-size:15px!important}.tb-notif-dot{display:block!important;top:7px!important;right:7px!important;width:6px!important;height:6px!important;background:#e11d1d!important;border:1.5px solid white!important}.tb-sep{height:20px!important;background:#e0e2e7!important;margin:0 4px!important}.user-box{background:white!important;border:1px solid #e0e2e7!important;box-shadow:0 1px 4px rgba(0,0,0,.06)!important;border-radius:10px!important;padding:4px 8px 4px 4px!important;gap:7px!important}.user-box:hover{border-color:var(--gold)!important;box-shadow:0 2px 8px rgba(212,175,55,.15)!important}.user-avatar{width:26px!important;height:26px!important;border-radius:50%!important;background:linear-gradient(135deg,var(--gold),#c4a030)!important;font-size:12px!important;color:#000!important}.user-name{font-size:11px!important;font-weight:700!important;color:#111!important}.user-role{font-size:9px!important;color:#9ca3af!important}.user-chevron{font-size:14px!important;color:#9ca3af!important}
.compact-dashboard{background:var(--soft-bg);gap:16px;padding:0;min-height:auto}.dash-breadcrumb{position:fixed;top:0;left:247px;height:80px;margin:0;z-index:60;background:transparent;font-size:18px;color:#111}.dash-breadcrumb-home{width:54px;height:80px;border:0;background:transparent;box-shadow:none;color:#111;border-radius:0}.dash-breadcrumb-home .material-symbols-rounded{font-size:30px}.dash-breadcrumb-name{height:80px;border:0;background:transparent;color:#111;font-size:18px;padding:0 0 0 26px;position:relative}.dash-breadcrumb-name:before{content:'';position:absolute;left:0;top:22px;width:1px;height:36px;background:#e8e8e8;transform:skewX(-18deg)}
.dash-hero{padding:28px 0 14px}.dash-hello{font-size:44px;gap:18px}.dash-hello em{font-family:'Segoe Script','Brush Script MT',cursive;font-size:76px;color:#dfa514}.dash-hello span{font-size:44px;font-weight:900;color:#0e0e0e!important}.dash-hello em:after{left:54px;right:-38px;bottom:-12px;height:20px;border-bottom:4px solid #dfa514}.dash-hello em:before{right:-45px;bottom:-20px;color:#dfa514}
.dash-grid-top{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2px}.dash-tile{height:150px;min-height:150px;border-radius:13px;border:1px solid #e4e4e4;background:#fff;padding:21px 25px;box-shadow:0 8px 22px rgba(0,0,0,.055)}.dash-tile:after{display:none}.dash-tile-head{display:none}.dash-card-arrow{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:32px!important;color:#111}.dash-tile-body{height:100%;justify-content:flex-start;gap:25px}.dash-big-icon{width:96px;height:96px;background:#fbf5e8;color:#c1830b;box-shadow:none}.dash-big-icon .material-symbols-rounded{font-size:56px}.dash-tile-info{display:flex;flex-direction:column;justify-content:center;gap:4px}.dash-tile-title{font-size:18px;font-weight:500;color:#111}.dash-counter{padding-right:0;gap:10px}.dash-counter .num{font-size:40px;color:#d99a13;font-weight:800}.dash-counter .of{font-size:16px;color:#777;text-transform:none;font-weight:500}.dash-counter .of::before{content:''}.dash-counter .arch{font-size:16px;color:#888;text-transform:none;margin-top:5px}
.dash-main-grid{grid-template-columns:1fr;gap:0}.dash-panel.revenus-panel{border-radius:13px;border:1px solid #e4e4e4;background:#fff;padding:22px 17px 22px;box-shadow:0 8px 24px rgba(0,0,0,.06)}.dash-panel-head{margin-bottom:22px}.dash-panel-title{font-size:27px;font-weight:800;color:#111}.revenus-panel>.dash-panel-head .dash-gear{display:none}.revenus-panel>.dash-tabs{gap:0;border-bottom:1px solid #e6e6e6;margin:0 0 28px}.revenus-panel>.dash-tabs .dash-tab{font-size:14px;font-weight:500;padding:0 28px 14px 10px;color:#555}.revenus-panel>.dash-tabs .dash-tab.active{color:#d99a13;border-bottom:2px solid #d99a13}
.dash-revenus-layout{grid-template-columns:1.1fr .95fr 1fr;gap:24px;align-items:stretch}.dash-revenue-top{height:129px;border:0;background:#fafafa;border-radius:8px;margin-bottom:28px;padding:18px 30px;grid-template-columns:120px 1fr 1fr}.dash-money-icon{width:75px;height:75px;background:#fbf5e8;color:#c1830b}.dash-money-icon .material-symbols-rounded{font-size:42px}.dash-pay-stat{padding-left:28px}.dash-pay-stat span{font-size:13px;color:#111;font-weight:800;text-transform:uppercase}.dash-pay-stat strong{font-size:45px;color:#22901f}.dash-pay-stat.gray strong{color:#d91515}.dash-money-cards{gap:26px 20px}.dash-money-card{height:114px;border-radius:8px;border:1px solid #e5e5e5;border-left:2px solid #22aa35;padding:16px 14px;box-shadow:0 5px 18px rgba(0,0,0,.035)}.dash-money-card.danger{border-left-color:#ef2323}.dash-money-card.gold{border-left-color:#f0ad17}.dash-mini-icon{width:54px;height:54px}.dash-mini-icon .material-symbols-rounded{font-size:30px}.dash-money-card label{font-size:12px;color:#111;font-weight:800}.dash-money-card strong{font-size:26px;color:#15920f}.dash-money-card.danger strong{color:#e60000}.dash-money-card.gold strong{color:#e2a000}
.dash-chart-wrap{min-height:416px;border-radius:8px;border:1px solid #e5e5e5;padding:18px;background:#fff}.dash-chart-wrap>.dash-tabs{gap:24px;margin-bottom:20px;border-bottom:1px solid #e5e5e5}.dash-chart-wrap .dash-tab{font-size:12px;padding:0 12px 12px 0}.dash-chart-card{height:340px}.dash-chart-card canvas{max-height:330px!important}.dash-agenda-card{min-height:416px;border-radius:8px;border:1px solid #e5e5e5;background:#fff}.dash-agenda-card .dash-panel-title{font-size:20px!important}.dash-agenda-card .dash-gear{display:none}.dash-agenda-summary{grid-template-columns:112px 1fr 1fr;margin:22px 14px 18px}.dash-agenda-summary .dash-big-icon{width:78px;height:78px}.dash-agenda-summary .dash-big-icon .material-symbols-rounded{font-size:42px}.dash-agenda-label{font-size:12px;color:#111}.dash-agenda-num{font-size:45px;color:#22901f}.dash-agenda-num.gray{color:#999}.dash-event{border-radius:8px;margin:0 12px 16px;padding:12px 14px;font-size:14px}.dash-event-title{font-size:16px;color:#0a71bd}.dash-dot{background:#20a92e}.dash-show-all{height:52px;margin:0 12px 12px;width:calc(100% - 24px);font-size:20px;border-radius:7px;background:#fff}.dash-float-chat{display:none!important}
@media(max-width:1300px){.dash-revenus-layout{grid-template-columns:1fr 1fr}.dash-agenda-card{grid-column:2}.dash-revenue-box{grid-row:1 / span 2}.dash-chart-wrap{grid-column:2}.dash-grid-top{gap:14px}.dash-tile{padding:16px}.dash-big-icon{width:76px;height:76px}.dash-big-icon .material-symbols-rounded{font-size:44px}}
@media(max-width:900px){}
@media(max-width:900px){}
@media(max-width:900px){}

/* ── style-13.css ── */
/* ===== V11 : cartes modernes Employés / Locations ===== */
.gp-modern-zone{margin-top:14px;display:flex;flex-direction:column;gap:14px}
.gp-modern-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;background:white;border:1px solid #ece8dc;border-radius:18px;padding:12px 14px;box-shadow:0 8px 22px rgba(20,20,20,.055)}
body.dark .gp-modern-toolbar{background:#1e1e1e;border-color:#2a2a38}
.gp-modern-search{min-width:0;flex:1;max-width:430px;display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid #edf0e8;border-radius:14px;padding:8px 11px;color:#9ca3af}
.gp-modern-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;width:100%;font-size:13px;color:#111}
body.dark .gp-modern-search{background:#181824;border-color:#2a2a38;color:#777}
body.dark .gp-modern-search input{color:#e5e5e5!important}
.gp-modern-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex-shrink:0}.gp-modern-filters select{height:36px;border-radius:12px;padding:0 10px}
.gp-modern-count{font-size:12px;color:#8b8f86;font-weight:700;white-space:nowrap}.gp-modern-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gp-mini-stat{background:white;border:1px solid #ece8dc;border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:11px;box-shadow:0 6px 16px rgba(20,20,20,.045)}body.dark .gp-mini-stat{background:#1e1e1e;border-color:#2a2a38}.gp-mini-stat .material-symbols-rounded{width:36px;height:36px;border-radius:12px;background:#fff8e5;color:#c48f05;display:flex;align-items:center;justify-content:center;font-size:19px}.gp-mini-stat strong{display:block;font-size:18px;color:#111;line-height:1}.gp-mini-stat span:last-child{display:block;font-size:11px;color:#8b8f86;font-weight:700;margin-top:2px}body.dark .gp-mini-stat strong{color:#eee}
.gp-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.gp-person-card,.gp-location-card{background:white;border:1px solid #ece8dc;border-radius:20px;padding:14px;box-shadow:0 8px 22px rgba(20,20,20,.065);transition:.18s;cursor:pointer;position:relative;overflow:hidden}.gp-person-card:hover,.gp-location-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,20,20,.105);border-color:rgba(212,175,55,.45)}body.dark .gp-person-card,body.dark .gp-location-card{background:#1e1e1e;border-color:#2a2a38}.gp-person-head{display:flex;align-items:center;gap:12px}.gp-avatar-photo{width:54px;height:54px;border-radius:16px;overflow:hidden;background:#f3f4f6;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0;border:1px solid #eee}.gp-avatar-photo img{width:100%;height:100%;object-fit:cover}.gp-person-main{min-width:0;flex:1}.gp-person-name{font-size:14px;font-weight:900;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-person-role{font-size:11.5px;color:#9ca3af;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark .gp-person-name{color:#eee}.gp-status-pill{font-size:10.5px;font-weight:800;padding:4px 8px;border-radius:999px;background:#ecfdf5;color:#15803d;white-space:nowrap}.gp-status-pill.off{background:#f3f4f6;color:#6b7280}.gp-card-lines{display:grid;gap:7px;margin-top:12px}.gp-card-line{display:flex;align-items:center;gap:7px;font-size:11.8px;color:#555;min-width:0}.gp-card-line .material-symbols-rounded{font-size:15px;color:#9ca3af}.gp-card-line span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark .gp-card-line{color:#cfcfcf}.gp-card-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:13px;padding-top:11px;border-top:1px solid #f1f1f1}body.dark .gp-card-actions{border-color:#2a2a38}
.gp-location-media{height:110px;border-radius:16px;background:linear-gradient(135deg,#f7f1df,#fff);overflow:hidden;margin-bottom:12px;position:relative;display:flex;align-items:center;justify-content:center;color:#c48f05}.gp-location-media img{width:100%;height:100%;object-fit:cover}.gp-location-media .material-symbols-rounded{font-size:42px}.gp-location-badge{position:absolute;top:9px;right:9px;background:rgba(255,255,255,.92);border:1px solid #eee;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:900;color:#c48f05}.gp-location-title{font-size:14px;font-weight:900;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-location-sub{font-size:11.5px;color:#9ca3af;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark .gp-location-title{color:#eee}.gp-empty-modern{text-align:center;padding:48px 18px;color:#9ca3af;background:white;border:1px dashed #e5e7eb;border-radius:18px}.gp-empty-modern .material-symbols-rounded{font-size:48px;display:block;margin:0 auto 7px;color:#d1d5db}body.dark .gp-empty-modern{background:#1e1e1e;border-color:#2a2a38}
@media(max-width:820px){.gp-modern-stats{grid-template-columns:1fr}.gp-modern-toolbar{align-items:stretch}.gp-modern-search{max-width:none;min-width:0}.gp-card-grid{grid-template-columns:1fr}}
@media(max-width:900px){}
@media(max-width:900px){}
@media(max-width:900px){}

/* ── style-14.css ── */
/* =========================================================
   FIX FINAL — Tous les boutons d'actions à 20px de hauteur
   Placé en toute fin de document pour passer APRÈS tous les
   autres <style> injectés plus bas dans le HTML.
========================================================= */
:root{--gp-action-h:20px;--gp-action-icon:12px;}

.page-hero-actions,
.page-header > div:last-child,
.biens-page-header > div:last-child,
.proprietaires-page-header > div:last-child,
.locataires-modern-actions,
.audit-actions,
.rpt-actions,
.top-actions,
.cfg-data-actions,
.journal-tools{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

.page-hero-actions button,
.page-hero-actions .btn,
.page-header button,
.page-header .btn,
.biens-page-header button,
.biens-page-header .btn,
.proprietaires-page-header button,
.proprietaires-page-header .btn,
.locataires-modern-actions button,
.locataires-modern-actions .btn,
.audit-actions button,
.audit-actions .btn,
.rpt-actions button,
.rpt-actions .btn,
.top-actions button,
.top-actions .btn,
.cfg-data-actions button,
.cfg-data-actions .btn,
.journal-tools button,
.journal-tools .btn,
.gp-export-btn,
.btn-import{
  height:var(--gp-action-h)!important;
  min-height:var(--gp-action-h)!important;
  max-height:var(--gp-action-h)!important;
  padding:0 8px!important;
  border-radius:5px!important;
  font-size:10px!important;
  line-height:0.9!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}

.page-hero-actions .material-symbols-rounded,
.page-header button .material-symbols-rounded,
.page-header .btn .material-symbols-rounded,
.biens-page-header button .material-symbols-rounded,
.biens-page-header .btn .material-symbols-rounded,
.proprietaires-page-header button .material-symbols-rounded,
.proprietaires-page-header .btn .material-symbols-rounded,
.locataires-modern-actions button .material-symbols-rounded,
.locataires-modern-actions .btn .material-symbols-rounded,
.audit-actions button .material-symbols-rounded,
.audit-actions .btn .material-symbols-rounded,
.rpt-actions button .material-symbols-rounded,
.rpt-actions .btn .material-symbols-rounded,
.top-actions button .material-symbols-rounded,
.top-actions .btn .material-symbols-rounded,
.cfg-data-actions button .material-symbols-rounded,
.cfg-data-actions .btn .material-symbols-rounded,
.journal-tools button .material-symbols-rounded,
.journal-tools .btn .material-symbols-rounded,
.gp-export-btn .material-symbols-rounded,
.btn-import .material-symbols-rounded{
  font-size:var(--gp-action-icon)!important;
  line-height:0.9!important;
  width:auto!important;
  height:auto!important;
}

.actions .icon-btn,
.gp-card-actions .icon-btn,
.loc-actions .icon-btn,
.loc-doc-actions .icon-btn,
.bien-doc-actions .icon-btn,
.depenses-table-actions .icon-btn,
.icon-btn{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  padding:0!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 20px!important;
  gap:-2px!important;
  box-sizing:border-box!important;
}
.icon-btn .material-symbols-rounded{font-size:12px!important;line-height:0.9!important;}

/* ── style-15.css ── */
/* Ajustement demandé : logo et navigation plus rapprochés */
.sidebar .logo{margin-bottom:0!important;padding-bottom:6px!important}
.sidebar .menu li{margin:0!important}

/* Nouveau Bureau inspiré de la maquette */
#page-dashboard .compact-dashboard{background:#f8fafc!important;padding:0 2px 18px!important;gap:16px!important}
#page-dashboard .dash-breadcrumb,#page-dashboard .dash-hero{display:none!important}
.gp-photo-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}
.gp-photo-card{background:#fff;border:1px solid #eef2f7;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:18px;display:flex;align-items:center;gap:16px;min-height:96px}
.gp-photo-icon{width:52px;height:52px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gp-photo-icon .material-symbols-rounded{font-size:27px}.gp-photo-blue{background:#eef4ff;color:#3b73ff}.gp-photo-green{background:#eafaf0;color:#22a85a}.gp-photo-gold{background:#fff6dc;color:#d99a00}.gp-photo-purple{background:#f1ebff;color:#6f4ee8}.gp-photo-label{font-size:12px;color:#667085;font-weight:700;margin-bottom:4px}.gp-photo-value{font-size:22px;font-weight:900;color:#101828;line-height:1}.gp-photo-sub{font-size:11px;font-weight:800;margin-top:6px}.gp-photo-sub.blue{color:#3b73ff}.gp-photo-sub.green{color:#16a34a}.gp-photo-sub.gold{color:#d99a00}.gp-photo-sub.purple{color:#6f4ee8}
#page-dashboard .dash-main-grid{display:block!important}.gp-photo-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:18px;margin-bottom:18px}.gp-photo-panel{background:#fff;border:1px solid #eef2f7;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:18px;min-width:0}.gp-photo-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.gp-photo-title{font-size:14px;font-weight:900;color:#101828}.gp-photo-select{border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;font-size:12px;color:#667085;background:#fff}.gp-photo-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.gp-photo-tab{border:1px solid #e8edf5;background:#fbfcff;border-radius:12px;padding:11px 10px;cursor:pointer;text-align:left}.gp-photo-tab.active{border-color:#3b73ff;background:#f2f6ff}.gp-photo-tab span{display:block;font-size:10px;font-weight:900;color:#667085;text-transform:uppercase;margin-bottom:4px}.gp-photo-tab strong{font-size:17px;font-weight:900;color:#101828}.gp-photo-money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gp-photo-money{border:1px solid #edf1f6;border-radius:13px;padding:13px;background:#fff}.gp-photo-money label{display:block;font-size:11px;font-weight:900;color:#667085;text-transform:uppercase;margin-bottom:7px}.gp-photo-money strong{font-size:18px;font-weight:900}.gp-rev{color:#16a34a}.gp-dep{color:#dc2626}.gp-net{color:#d99a00}.gp-photo-chart{height:260px}.gp-photo-chart canvas{max-height:245px!important}
.gp-photo-agenda{background:#fff;border:1px solid #eef2f7;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:18px}.gp-agenda-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.gp-agenda-title{font-size:15px;font-weight:900;color:#101828}.gp-agenda-month{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:900;color:#101828}.gp-agenda-nav{width:28px;height:28px;border:0;background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#667085}.gp-agenda-all{border:0;background:transparent;color:#667085;font-size:12px;font-weight:700;cursor:pointer}.gp-agenda-body{display:grid;grid-template-columns:.9fr 1fr;gap:20px}.gp-event-list{border:1px solid #eef2f7;border-radius:14px;overflow:hidden}.gp-event-row{display:grid;grid-template-columns:22px 54px 1fr 54px;align-items:center;gap:10px;padding:18px;border-bottom:1px solid #eef2f7;cursor:pointer}.gp-event-row:last-child{border-bottom:0}.gp-event-dot{width:10px;height:10px;border-radius:50%;background:#3b73ff}.gp-event-day{font-weight:900;color:#101828;text-align:center;font-size:19px;line-height:1}.gp-event-day span{display:block;font-size:10px;color:#667085;font-weight:700;text-transform:uppercase}.gp-event-name{font-size:13px;font-weight:800;color:#344054}.gp-calendar{border:1px solid #eef2f7;border-radius:14px;padding:14px}.gp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.gp-cal-dow{font-size:11px;font-weight:900;color:#344054}.gp-cal-day{height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#344054;cursor:pointer}.gp-cal-muted{color:#98a2b3}.gp-cal-mark{color:#fff!important}.gp-cal-blue{background:#3b73ff}.gp-cal-green{background:#22a85a}.gp-cal-gold{background:#f0b400}.gp-cal-purple{background:#6f4ee8}
body.dark #page-dashboard .compact-dashboard{background:#121212!important}body.dark .gp-photo-card,body.dark .gp-photo-panel,body.dark .gp-photo-agenda,body.dark .gp-event-list,body.dark .gp-calendar,body.dark .gp-photo-money,body.dark .gp-photo-tab{background:#1e1e1e!important;border-color:#2a2a38!important}body.dark .gp-photo-label,body.dark .gp-event-time,body.dark .gp-agenda-all{color:#9ca3af!important}body.dark .gp-photo-value,body.dark .gp-photo-title,body.dark .gp-agenda-title,body.dark .gp-agenda-month,body.dark .gp-event-day,body.dark .gp-event-name,body.dark .gp-cal-dow,body.dark .gp-cal-day{color:#eee!important}
@media(max-width:1100px){.gp-photo-stats,.gp-photo-grid,.gp-agenda-body{grid-template-columns:1fr!important}.gp-photo-money-grid,.gp-photo-tabs{grid-template-columns:1fr!important}}

/* ── style-16.css ── */
/* Base compact */
#page-employes .table-controls,
#page-locataires .locataires-toolbar,
#page-biens [style*="FILTERS BAR"] + div,
#page-biens div:has(> #biensFilterType),
#page-depenses .depenses-table-actions,
#page-depenses .depenses-table-actions > div,
#page-journal .journal-tools,
#page-journal .emp-agenda-side-head{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
}

/* Responsive: garder une seule ligne avec défilement horizontal plutôt que casser */
@media(max-width:900px){
}

/* ── style-17.css ── */
/* ===== AJUSTEMENT FINAL — TAILLE PHOTO / PAS ZOOMÉ ===== */
@media (min-width:1100px){.content{padding:10px 14px 8px!important;padding-top:56px!important}.compact-dashboard{gap:8px!important;min-height:auto!important;padding:0!important;background:#f8f8f6!important}.dash-breadcrumb{height:54px!important;top:0!important;left:235px!important;font-size:13px!important}.dash-breadcrumb-home{width:42px!important;height:54px!important}.dash-breadcrumb-home .material-symbols-rounded{font-size:23px!important}.dash-breadcrumb-name{height:54px!important;font-size:13px!important;padding-left:18px!important}.dash-breadcrumb-name:before{top:15px!important;height:24px!important}.dash-hero{padding:2px 0 8px!important;gap:8px!important}.dash-hello{font-size:24px!important;letter-spacing:-.4px!important;line-height:0.9!important;gap:8px!important}.dash-hello em{font-size:42px!important;line-height:.8!important}.dash-hello em:after{left:22px!important;right:-14px!important;bottom:-7px!important;height:10px!important;border-bottom-width:2px!important}.dash-hello em:before{right:-20px!important;bottom:-13px!important;font-size:11px!important}.dash-grid-top{gap:10px!important;margin-bottom:0!important}.dash-tile{min-height:74px!important;padding:10px 13px!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(20,20,20,.055)!important}.dash-tile:after{right:14px!important;top:25px!important;height:24px!important;width:2px!important}.dash-tile-body{gap:10px!important}.dash-big-icon{width:42px!important;height:42px!important}.dash-big-icon .material-symbols-rounded{font-size:24px!important}.dash-tile-title{font-size:14px!important;margin-bottom:2px!important}.dash-counter{gap:6px!important;padding-right:8px!important}.dash-counter .num{font-size:27px!important}.dash-counter .of{font-size:9px!important}.dash-counter .arch{font-size:9px!important;line-height:1.1!important}.dash-card-arrow{font-size:18px!important;top:8px!important;right:8px!important}.dash-main-grid{gap:10px!important}.dash-panel{border-radius:14px!important;padding:11px!important;box-shadow:0 4px 16px rgba(20,20,20,.06)!important}.dash-panel.revenus-panel{padding:11px 12px 12px!important}.dash-panel-head{margin-bottom:7px!important}.dash-panel-title{font-size:16px!important;letter-spacing:-.1px!important}.dash-gear{font-size:16px!important}.dash-tabs{gap:14px!important;margin-bottom:10px!important}.dash-tab{font-size:9.5px!important;padding:5px 1px 7px!important}.dash-revenus-layout{grid-template-columns:minmax(310px,1.1fr) minmax(265px,.9fr) minmax(265px,.9fr)!important;gap:12px!important;align-items:stretch!important}.dash-revenue-top{grid-template-columns:82px 1fr 1fr!important;margin-bottom:9px!important;padding:10px!important;border-radius:10px!important}.dash-money-icon{width:44px!important;height:44px!important}.dash-money-icon .material-symbols-rounded{font-size:24px!important}.dash-pay-stat{padding-left:12px!important}.dash-pay-stat span{font-size:8.5px!important;margin-bottom:2px!important}.dash-pay-stat strong{font-size:24px!important}.dash-money-cards{gap:8px!important}.dash-money-card{min-height:58px!important;padding:8px 9px!important;border-radius:10px!important;gap:8px!important}.dash-mini-icon{width:32px!important;height:32px!important}.dash-mini-icon .material-symbols-rounded{font-size:18px!important}.dash-money-card label{font-size:8.5px!important;margin-bottom:2px!important}.dash-money-card strong{font-size:14.5px!important;line-height:1.05!important}.dash-chart-wrap{min-height:245px!important;padding:10px!important;border-radius:12px!important}.dash-chart-card{height:188px!important;min-height:188px!important}.dash-chart-card canvas{max-height:185px!important}.dash-agenda-card{min-height:245px!important;border-radius:12px!important}.dash-agenda-card .dash-panel-head{padding:9px 10px 0!important;margin-bottom:0!important}.dash-agenda-card .dash-panel-title{font-size:13px!important}.dash-agenda-summary{grid-template-columns:86px 1fr 1fr!important;margin:10px 8px 8px!important}.dash-agenda-label{font-size:8.5px!important}.dash-agenda-num{font-size:25px!important}.dash-event{margin:0 8px 7px!important;padding:8px 9px!important;font-size:10px!important;border-radius:7px!important}.dash-event-title{font-size:11px!important;margin-bottom:4px!important}.dash-event-line{margin:2px 0!important}.dash-event-line .material-symbols-rounded{font-size:12px!important}.dash-show-all{width:calc(100% - 16px)!important;margin:2px 8px 9px!important;padding:6px!important;font-size:11px!important}.dash-float-chat{width:42px!important;height:42px!important;right:16px!important;bottom:14px!important}.dash-float-chat .material-symbols-rounded{font-size:22px!important}}


/* ============================================================
   PHOTO MATCH FINAL v4 — corrections menu + topbar + agenda
============================================================ */

/* 1. Variables globales */
:root{
  --sidebar-w: 210px;
}
html{ font-size: 13px; }
body{ font-size: 13px; }

/* =========================================================
   2. SIDEBAR — fond noir, défile correctement, menu compact
========================================================= */
.sidebar{
 width:223px;
  width: var(--sidebar-w) !important;
  padding: 18px 14px 14px !important;
  height: 200vh !important;
  min-height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: fixed !important;
  top: 0 !important; left: 0 !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(212,175,55,.3) transparent !important;
}
.sidebar::-webkit-scrollbar{
  width:0;
}
/* Logo GENIUS PROPERTY */
.logo{
  padding: 4px 6px 14px !important;
  margin-bottom: 4px !important;
  gap: 8px !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  flex-shrink: 0 !important;
}
.logo span:first-child{ font-size: 24px !important; }
.logo-text{
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  color: #16191f !important;
}
/* Menu — items bien alignés icône + texte */
.menu{
  margin-top: 6px !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  flex: 1 !important;
}
.menu li{
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;               /* pas de gap — on utilise padding */
  padding: 0 12px !important;
  height: 40px !important;
  min-height: 38px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  border-radius: 7px !important;
  color: #c8c8c8 !important;
  cursor: pointer !important;
  transition: .15s !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
/* Icône à gauche fixe, texte à côté */
.menu li .material-symbols-rounded{
  font-size: 18px !important;
  width: 28px !important;
  min-width: 28px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;  /* icône alignée à gauche dans son espace */
  line-height: 1 !important;
}
.menu li span:not(.material-symbols-rounded){
  flex: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.menu li span{
  font-size:22px;
}
.menu li.active{
  background: #fff8e5 !important;
  color: #d9a313 !important;
  font-weight: 600 !important;
}
.menu li.active .material-symbols-rounded{ color: #d9a313 !important; }
.menu li:hover:not(.active){ background: #ebebeb !important; color: #16191f !important; }
/* Déconnexion en rouge, séparée, toujours visible */
.logout{
  margin-top: auto !important;
  color: #f87171 !important;
  border-top: 1px solid var(--line) !important;
  padding-top: 6px !important;
  margin-top: 6px !important;
  flex-shrink: 0 !important;
}

/* =========================================================
   3. TOPBAR — fond gris, breadcrumb gauche, icônes + avatar droite
========================================================= */
.topbar{
  left: var(--sidebar-w) !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 20px !important;
  gap: 0 !important;
  justify-content: flex-end !important;
  background: #f2f2f2 !important;
  box-shadow: none !important;
  border-bottom: none !important;
  display: flex !important;
  align-items: center !important;
}
/* Breadcrumb fixé dans la topbar à gauche */
.dash-breadcrumb{
  position: fixed !important;
  top: 0 !important;
  left: var(--sidebar-w) !important;
  height: 56px !important;
  z-index: 55 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 20px !important;
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #222 !important;
  pointer-events: none !important;
}
.dash-breadcrumb-home{
  width: auto !important; height: auto !important;
  border: none !important; background: transparent !important;
  box-shadow: none !important; border-radius: 0 !important;
  color: #555 !important; padding: 0 !important;
}
.dash-breadcrumb-home .material-symbols-rounded{ font-size: 20px !important; }
.dash-breadcrumb-name{
  height: auto !important; padding: 0 !important;
  border: none !important; background: transparent !important;
  color: #222 !important; font-size: 15px !important; font-weight: 500 !important;
}
.dash-breadcrumb-name:before{ display: none !important; }
/* Icônes topbar droite */
.top-icons{ display: flex !important; align-items: center !important; gap: 8px !important; }
.tb-icon-btn{
  width: 36px !important; height: 36px !important;
  border-radius: 10px !important; background: white !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
}
.tb-icon-btn .material-symbols-rounded{ font-size: 18px !important; }
.tb-notif-dot{ width: 6px !important; height: 6px !important; top: 6px !important; right: 6px !important; }
.tb-sep{ height: 22px !important; margin: 0 4px !important; background: #ddd !important; }
/* User pill */
.user-box{
  display: flex !important; align-items: center !important;
  gap: 8px !important; padding: 5px 10px 5px 5px !important;
  border-radius: 10px !important; background: white !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important; min-height: 38px !important;
}
.user-avatar{
  width: 32px !important; height: 32px !important; border-radius: 50% !important;
  background: linear-gradient(135deg, #D4AF37, #b8960e) !important;
  font-size: 14px !important; font-weight: 800 !important;
}
.user-name{ font-size: 13px !important; font-weight: 700 !important; color: #111 !important; }
.user-role{ font-size: 10px !important; color: #888 !important; }
.user-chevron{ font-size: 16px !important; color: #999 !important; }

/* =========================================================
   4. CONTENT
========================================================= */
.content{
  margin-left: var(--sidebar-w) !important;
  padding: 66px 20px 20px !important;
  min-height: 100vh !important;
  background: #f2f2f2 !important;
}

/* =========================================================
   5. DASHBOARD
========================================================= */
.compact-dashboard{
  gap: 14px !important; padding: 0 !important;
  background: transparent !important; min-height: auto !important;
}

/* =========================================================
   6. HERO — "Bonjour Oumar !" taille photo
========================================================= */
.dash-hero{
  padding: 8px 0 14px !important;
  align-items: flex-end !important;
  background: transparent !important;
}
.dash-hello{
  font-size: 30px !important; gap: 8px !important;
  letter-spacing: -.3px !important; line-height: 1 !important;
  align-items: flex-end !important;
}
.dash-hello em{
  font-family: 'Brush Script MT','Segoe Script',cursive !important;
  font-size: 44px !important; line-height: .9 !important;
  color: #D4AF37 !important; font-style: normal !important;
}
.dash-hello em:after{
  left: 20px !important; right: -14px !important;
  bottom: -7px !important; height: 12px !important;
  border-bottom: 2px solid #D4AF37 !important; border-radius: 50% !important;
}
.dash-hello em:before{ right: -18px !important; bottom: -13px !important; font-size: 10px !important; color: #D4AF37 !important; }
.dash-hello span{ font-size: 30px !important; font-weight: 700 !important; color: #111 !important; }
.dash-hero-sub{ display: none !important; }
.dash-hero-badge{ display: none !important; }

/* =========================================================
   7. STAT TILES — 3 cartes blanches
========================================================= */
.dash-grid-top{
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 14px !important; margin: 0 !important;
}
.dash-tile{
  background: white !important; border: 1px solid #e8e4da !important;
  border-radius: 14px !important; padding: 16px 18px !important;
  min-height: 108px !important; height: auto !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
  position: relative !important; overflow: hidden !important;
}
.dash-tile:hover{ transform: translateY(-2px) !important; }
.dash-tile:after{ display: none !important; }
.dash-tile-head{ display: none !important; }
.dash-card-arrow{
  position: absolute !important; right: 16px !important;
  top: 50% !important; transform: translateY(-50%) !important;
  font-size: 20px !important; color: #ccc !important;
}
.dash-tile-body{ display: flex !important; align-items: center !important; gap: 16px !important; height: 100% !important; }
.dash-big-icon{
  width: 66px !important; height: 66px !important; border-radius: 50% !important;
  background: linear-gradient(135deg,#fbf5e4,#fff8e8) !important;
  color: #c69414 !important; flex-shrink: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.dash-big-icon .material-symbols-rounded{ font-size: 36px !important; }
.dash-tile-info{ display: flex !important; flex-direction: column !important; gap: 3px !important; }
.dash-tile-title{ font-size: 14px !important; font-weight: 400 !important; color: #444 !important; margin-bottom: 2px !important; }
.dash-counter{ display: flex !important; align-items: baseline !important; gap: 6px !important; padding-right: 0 !important; flex-wrap: wrap !important; }
.dash-counter .num{ font-size: 34px !important; font-weight: 900 !important; color: #111 !important; line-height: 1 !important; }
.dash-counter .of{ display: none !important; }
.dash-counter .arch{ font-size: 11.5px !important; color: #999 !important; display: block !important; width: 100% !important; }

/* =========================================================
   8. REVENUS PANEL — 3 colonnes: loyers | graphique | agenda
      (tout sur la même ligne dans le panel)
========================================================= */
.dash-main-grid{ gap: 14px !important; margin-top: 0 !important; }
.dash-panel.revenus-panel{
  background: white !important; border: 1px solid #e8e4da !important;
  border-radius: 14px !important; padding: 18px 20px 20px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
}
.dash-panel-head{ margin-bottom: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
.dash-panel-title{ font-size: 18px !important; font-weight: 800 !important; color: #111 !important; }
.dash-gear{ display: none !important; }
.dash-tabs{
  display: flex !important; gap: 0 !important;
  border-bottom: 1px solid #e8e4da !important;
  margin: 12px 0 16px !important; overflow: visible !important;
}
.dash-tab{
  font-size: 11.5px !important; padding: 7px 20px 9px 0 !important;
  font-weight: 500 !important; color: #666 !important;
  border-bottom: 2px solid transparent !important; white-space: nowrap !important; cursor: pointer !important;
}
.dash-tab.active{ color: #D4AF37 !important; border-bottom-color: #D4AF37 !important; font-weight: 700 !important; }

/* === 3 colonnes sur la même ligne === */
.dash-revenus-layout{
  display: grid !important;
  grid-template-columns: 1fr 1.05fr 280px !important;
  gap: 14px !important;
  align-items: stretch !important;
}

/* Colonne 1: loyers */
.dash-revenue-box{ padding: 0 !important; border: none !important; }
.dash-revenue-top{
  display: grid !important; grid-template-columns: 80px 1fr 1fr !important;
  align-items: center !important; gap: 0 !important;
  margin-bottom: 12px !important; background: #fafafa !important;
  border: 1px solid #efe9d8 !important; border-radius: 11px !important; padding: 14px !important;
}
.dash-money-icon{
  width: 56px !important; height: 56px !important; border-radius: 50% !important;
  background: linear-gradient(135deg,#fbf5e4,#fff) !important;
  color: #c69414 !important; margin: auto !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.dash-money-icon .material-symbols-rounded{ font-size: 30px !important; }
.dash-pay-stat{ border-left: 1px solid #e0d9c8 !important; padding-left: 14px !important; }
.dash-pay-stat span{ display: block !important; font-size: 9.5px !important; font-weight: 700 !important; color: #555 !important; text-transform: uppercase !important; margin-bottom: 3px !important; }
.dash-pay-stat strong{ font-size: 32px !important; font-weight: 900 !important; line-height: 1 !important; color: #16a34a !important; }
.dash-pay-stat.gray strong{ color: #dc2626 !important; }
.dash-money-cards{ display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.dash-money-card{
  border: 1px solid #e8e4da !important; border-left: 3px solid #16a34a !important;
  border-radius: 10px !important; padding: 10px 12px !important; background: #fff !important;
  min-height: 74px !important; display: flex !important; align-items: center !important; gap: 10px !important;
}
.dash-money-card.danger{ border-left-color: #dc2626 !important; }
.dash-money-card.gold{ border-left-color: #D4AF37 !important; }
.dash-mini-icon{
  width: 36px !important; height: 36px !important; border-radius: 50% !important; flex-shrink: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  background: #f0f9ec !important; color: #16a34a !important;
}
.dash-money-card.danger .dash-mini-icon{ background: #fff1f0 !important; color: #dc2626 !important; }
.dash-money-card.gold .dash-mini-icon{ background: #fff8e3 !important; color: #c48f05 !important; }
.dash-mini-icon .material-symbols-rounded{ font-size: 20px !important; }
.dash-money-card label{ display: block !important; font-size: 9.5px !important; font-weight: 700 !important; color: #555 !important; text-transform: uppercase !important; margin-bottom: 3px !important; }
.dash-money-card strong{ font-size: 16px !important; font-weight: 900 !important; color: #16a34a !important; line-height: 1 !important; }
.dash-money-card.danger strong{ color: #dc2626 !important; }
.dash-money-card.gold strong{ color: #c48f05 !important; }

/* Colonne 2: graphique ligne */
.dash-chart-wrap{
  background: white !important; border: 1px solid #e8e4da !important;
  border-radius: 12px !important; padding: 14px !important;
  min-height: 260px !important; display: flex !important;
  flex-direction: column !important; height: 100% !important;
}
.dash-chart-wrap > .dash-tabs{ margin: 0 0 10px !important; border-bottom: 1px solid #e8e4da !important; }
.dash-chart-wrap .dash-tab{ font-size: 10.5px !important; padding: 5px 14px 7px 0 !important; }
.dash-chart-card{ flex: 1 !important; height: 210px !important; min-height: 200px !important; }
.dash-chart-card canvas{ max-height: 205px !important; }

/* Colonne 3: agenda — sur la même ligne que les revenus */
.dash-agenda-card{
  background: white !important; border: 1px solid #e8e4da !important;
  border-radius: 12px !important; min-height: 260px !important;
  display: flex !important; flex-direction: column !important; overflow: hidden !important;
}
.dash-agenda-card .dash-panel-head{ padding: 12px 14px 0 !important; margin-bottom: 0 !important; }
.dash-agenda-card .dash-panel-title{ font-size: 13px !important; font-weight: 700 !important; }
.dash-agenda-card .dash-gear{ display: none !important; }
.dash-agenda-summary{
  display: grid !important; grid-template-columns: 88px 1fr 1fr !important;
  align-items: center !important; text-align: center !important; margin: 10px 10px 8px !important;
}
.dash-agenda-summary > div{ border-left: 1px solid #e5e7eb !important; }
.dash-agenda-summary > div:first-child{ border-left: none !important; }
.dash-agenda-summary .dash-big-icon{
  width: 62px !important; height: 62px !important; margin: auto !important;
  background: linear-gradient(135deg,#fbf5e4,#fff8e8) !important; color: #c69414 !important;
}
.dash-agenda-summary .dash-big-icon .material-symbols-rounded{ font-size: 34px !important; }
.dash-agenda-label{ font-size: 9px !important; font-weight: 700 !important; color: #666 !important; text-transform: uppercase !important; display: block !important; margin-bottom: 3px !important; }
.dash-agenda-num{ font-size: 28px !important; font-weight: 900 !important; color: #16a34a !important; line-height: 1 !important; display: block !important; }
.dash-agenda-num.gray{ color: #bbb !important; }
#homeAgendaList{ flex: 1 !important; overflow-y: auto !important; }
.dash-event{
  border: 1px solid #e8e4da !important; border-radius: 8px !important;
  margin: 0 8px 7px !important; padding: 9px 10px !important;
  font-size: 11px !important; color: #555 !important;
}
.dash-event-title{ font-size: 12px !important; color: #c48f05 !important; margin-bottom: 4px !important; }
.dash-event-line .material-symbols-rounded{ font-size: 12px !important; }
.dash-show-all{
  width: calc(100% - 18px) !important; margin: auto 9px 10px !important;
  padding: 8px !important; font-size: 12.5px !important;
  border-radius: 8px !important; border: 1px solid #e5e7eb !important;
  background: white !important; color: #444 !important;
  cursor: pointer !important; font-family: inherit !important;
}
.dash-float-chat{ width: 44px !important; height: 44px !important; right: 16px !important; bottom: 14px !important; }

/* =========================================================
   9. AUTRES PAGES
========================================================= */
.page-header{ margin-bottom: 12px !important; }
.container{ padding: 16px !important; border-radius: 12px !important; }
.card{ padding: 14px !important; border-radius: 12px !important; }
.btn{ font-size: 12px !important; padding: 7px 12px !important; border-radius: 7px !important; }
thead th{ font-size: 10px !important; padding: 8px !important; }
tbody td{ padding: 9px !important; }
.icon-btn .material-symbols-rounded{ font-size: 14px !important; }
.badge{ font-size: 10.5px !important; padding: 3px 8px !important; }
.page-hero,.cfg-logo-card{ border-radius: 14px !important; padding: 16px 20px !important; margin-bottom: 12px !important; }

/* =========================================================
   10. RESPONSIVE
========================================================= */
@media(max-width: 600px){
  :root{ --sidebar-w: 64px; }
  .sidebar{ width: 64px !important; padding: 10px 6px !important; }
  /* .logo-text hidden only on very small screens */
  .menu li{ justify-content: center !important; padding: 0 !important; height: 40px !important; }
  .menu li .material-symbols-rounded{ width: 100% !important; justify-content: center !important; font-size: 20px !important; }
  .topbar, .dash-breadcrumb{ left: 64px !important; }
  .content{ margin-left: 64px !important; }
  .dash-grid-top{ grid-template-columns: 1fr 1fr !important; }
}


/* ===== V15 — En-têtes uniformes type capture + corrections UI ===== */
.page-hero,.page-header{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;
  background:transparent!important;border-radius:0!important;padding:0 0 18px!important;margin:0 0 14px!important;
  box-shadow:none!important;border-left:none!important;color:#111!important;
}
.page-hero-text h3,.page-header h2{font-size:24px!important;font-weight:900!important;color:#000!important;line-height:1.05!important;margin:0!important;letter-spacing:-.4px!important}
.page-hero-text p{font-size:14px!important;color:#98a1b3!important;margin-top:4px!important;line-height:1.3!important}
.page-hero-actions,.page-header>div:last-child{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.page-hero .btn-primary,.page-header .btn-primary{border-radius:7px!important;padding:0 11px!important;box-shadow:none!important;font-weight:600!important}
.gp-export-btn{border-radius:7px!important;padding:0 11px!important}
body.dark .page-hero-text h3,body.dark .page-header h2{color:#fff!important}
.stats.small{align-items:stretch!important}
.stats.small .mini-card{min-height:74px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important}
.stats.small .mini-card span{font-size:12px!important;white-space:normal!important;text-align:center!important;line-height:1.15!important}
.stats.small .mini-card strong{line-height:1.05!important;margin-top:0!important}
.dep-type-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}
.dep-type-bien{background:#fef3c7;color:#92400e}.dep-type-agence{background:#dbeafe;color:#1e40af}
.dep-facture-link{font-size:11px;font-weight:800;color:#2563eb;cursor:pointer;text-decoration:none}
@media(max-width:900px){.page-hero,.page-header{flex-direction:column!important}.page-hero-actions,.page-header>div:last-child{width:100%}.stats.small{grid-template-columns:repeat(2,1fr)!important}}


/* ===== V16 — En-têtes vraiment uniformes + actions uniques ===== */
.proprietaires-page-header,.biens-page-header,.page-hero,.page-header{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;
  padding:0 0 18px!important;margin:0 0 14px!important;background:transparent!important;box-shadow:none!important;border-left:none!important;
}
.proprietaires-page-header h2,.biens-page-header h2,.page-hero-text h3,.page-header h2{
  font-size:24px!important;font-weight:900!important;line-height:1.05!important;margin:0!important;letter-spacing:-.4px!important;color:#000!important;
}
.proprietaires-page-header p,.biens-page-header p,.page-hero-text p,.page-header p{
  font-size:14px!important;color:#98a1b3!important;margin-top:4px!important;line-height:1.3!important;
}
.proprietaires-page-header>div:last-child,.biens-page-header>div:last-child,.page-hero-actions,.page-header>div:last-child{
  display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;
}
.proprietaires-page-header button,.biens-page-header button,.page-hero-actions .btn,.page-header .btn,.gp-export-btn{
  min-height:30px!important;border-radius:7px!important;padding:0 11px!important;font-size:12px!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;gap:5px!important;
}
.proprietaires-page-header button span,.biens-page-header button span,.page-hero-actions .material-symbols-rounded,.page-header .material-symbols-rounded{font-size:17px!important}
body.dark .proprietaires-page-header h2,body.dark .biens-page-header h2,body.dark .page-hero-text h3,body.dark .page-header h2{color:#fff!important}
.depenses-table-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
@media(max-width:900px){.proprietaires-page-header,.biens-page-header,.page-hero,.page-header{flex-direction:column!important}.proprietaires-page-header>div:last-child,.biens-page-header>div:last-child,.page-hero-actions,.page-header>div:last-child{width:100%}}



/* ===== V20 — Uniformisation finale titres/boutons + tableaux propres ===== */
.page-hero-text h3,.page-header h2,.locataires-modern-title h2,.proprietaires-page-header h2,.biens-page-header h2,
.rpt-main-title,.audit-main-title,.cfg-section-title{
  font-size:22px!important;
  font-weight:800!important;
  line-height:1.12!important;
  margin:0 0 3px!important;
  letter-spacing:-.2px!important;
}
.page-hero-text p,.page-header p,.locataires-modern-title p,.proprietaires-page-header p,.biens-page-header p,.rpt-subtitle,.audit-subtitle{
  font-size:13px!important;
  line-height:1.25!important;
  margin:0!important;
  color:#9ca3af!important;
}
.page-hero,.page-header,.locataires-modern-header,.proprietaires-page-header,.biens-page-header{
  min-height:58px!important;
  margin:0 0 14px!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.page-hero-actions,.locataires-modern-actions,.proprietaires-page-header>div:last-child,.biens-page-header>div:last-child,.page-header>div:last-child{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding-top:0!important;
}
.page-hero-actions .btn,.locataires-modern-actions .btn,.proprietaires-page-header .btn,.biens-page-header .btn,.page-header .btn,.gp-export-btn{
  min-height:38px!important;
  padding:8px 14px!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:0.9!important;
}
#page-paiements .stats.small{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
}
#page-paiements .stats.small .mini-card{height:96px!important;justify-content:center!important;align-items:center!important;text-align:center!important}
#page-paiements .stats.small .mini-card span,#page-paiements .stats.small .mini-card strong{display:block!important;text-align:center!important;width:100%!important}
#page-depenses table th,#page-depenses table td,
#page-contrats table th,#page-contrats table td,
#page-paiements table th,#page-paiements table td,
#page-avenir table th,#page-avenir table td{
  text-align:center!important;
  vertical-align:middle!important;
}
#page-depenses table td:nth-child(2){text-align:left!important}
#page-depenses .actions,#page-contrats .actions,#page-paiements .actions,#page-avenir .actions{justify-content:center!important}



/* ===== V21 — Uniformisation FINALE — style identique à Locataires ===== */

/* Titre principal : même taille/poids que "Locataires" */
.page-hero-text h3,
.page-header h2,
.locataires-modern-title h2,
.proprietaires-page-header h2,
.biens-page-header h2,
.rpt-main-title,
.audit-main-title,
.cfg-section-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.2px !important;
  margin: 0 0 20px !important;
  color: #111 !important;
}
body.dark .page-hero-text h3,
body.dark .page-header h2,
body.dark .locataires-modern-title h2,
body.dark .proprietaires-page-header h2,
body.dark .biens-page-header h2,
body.dark .rpt-main-title,
body.dark .audit-main-title,
body.dark .cfg-section-title {
  color: #fff !important;
}

/* Sous-titre */
.page-hero-text p,
.page-header p,
.locataires-modern-title p,
.proprietaires-page-header p,
.biens-page-header p,
.rpt-subtitle,
.audit-subtitle {
  font-size: 13px !important;
  color: #9ca3af !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

/* Conteneur header */
.page-hero,
.page-header,
.locataires-modern-header,
.proprietaires-page-header,
.biens-page-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 0 16px !important;
  margin: 0 0 14px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  min-height: unset !important;
}

/* Zone boutons à droite */
.page-hero-actions,
.locataires-modern-actions,
.proprietaires-page-header > div:last-child,
.biens-page-header > div:last-child,
.page-header > div:last-child {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding-top: 0 !important;
  flex-wrap: wrap !important;
}

/* Boutons — exactement comme "Nouveau locataire" / "Exporter" / "Importer" */
.page-hero-actions .btn,
.locataires-modern-actions .btn,
.proprietaires-page-header .btn,
.biens-page-header .btn,
.page-header .btn,
.gp-export-btn,
.page-hero-actions button,
.page-header button,
.proprietaires-page-header button,
.biens-page-header button {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Icônes dans les boutons */
.page-hero-actions .material-symbols-rounded,
.locataires-modern-actions .material-symbols-rounded,
.page-header .material-symbols-rounded,
.proprietaires-page-header button .material-symbols-rounded,
.biens-page-header button .material-symbols-rounded {
  font-size: 16px !important;
}

/* Icônes standalone topbar — taille uniforme */
.top-icons .tb-icon-btn {
  width: 34px !important;
  height: 34px !important;
}



/* ===== V22 — alignement Biens + messagerie employés moderne ===== */
#page-biens{padding-top:0 !important;margin-top:0 !important;}
#page-biens .biens-page-header{margin-top:0 !important;margin-bottom:14px !important;align-items:flex-start !important;}
#page-biens .biens-page-header h2{font-size:20px !important;font-weight:900 !important;line-height:1.15 !important;margin:0 0 4px 0 !important;color:#000 !important;}
#page-biens .biens-page-header p{font-size:13px !important;line-height:1.35 !important;margin:0 !important;color:#9ca3af !important;}
#page-biens .biens-page-header .material-symbols-rounded{font-size:17px !important;}
body.dark #page-biens .biens-page-header h2{color:#eee !important;}

.msg-mail-app{height:calc(100vh - 132px);min-height:620px;background:#fff;border-radius:18px;box-shadow:0 10px 35px rgba(15,23,42,.08);overflow:hidden;display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid #edf0f4}
.msg-mail-sidebar{background:#f8fafc;border-right:1px solid #edf0f4;display:flex;flex-direction:column;min-width:0}
.msg-mail-side-head{padding:18px;border-bottom:1px solid #edf0f4}
.msg-mail-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.msg-mail-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:900;color:#111}
.msg-mail-title .material-symbols-rounded{font-size:20px;color:var(--gold)}
.msg-compose-btn{height:36px;border:none;border-radius:12px;background:var(--gold);color:#000;font-size:12px;font-weight:900;display:inline-flex;align-items:center;gap:6px;padding:0 12px;cursor:pointer;box-shadow:0 6px 16px rgba(212,175,55,.25)}
.msg-search-wrap{position:relative}.msg-search-wrap .material-symbols-rounded{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:17px;color:#94a3b8}
.msg-search-wrap input{width:100%;height:38px;border:1px solid #e5e7eb;border-radius:12px;background:white;padding:0 12px 0 36px;font-size:12px;outline:none}
.msg-mail-tabs{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid #edf0f4}
.msg-mail-tab{border:none;background:transparent;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:#64748b;cursor:pointer}
.msg-mail-tab.active{background:#fff8e3;color:#b38305}
#msg-conv-list{flex:1;overflow:auto;padding:8px}
.msg-mail-item{border:1px solid transparent;border-radius:14px;padding:11px;cursor:pointer;transition:.16s;margin-bottom:6px;background:transparent}
.msg-mail-item:hover{background:white;border-color:#edf0f4;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.msg-mail-item.active{background:white;border-color:rgba(212,175,55,.45);box-shadow:0 6px 18px rgba(212,175,55,.12)}
.msg-mail-item-top{display:flex;gap:10px;align-items:flex-start}
.msg-avatar{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#fff;flex-shrink:0;position:relative}
.msg-unread{position:absolute;top:-4px;right:-4px;width:17px;height:17px;border-radius:50%;background:var(--red);color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.msg-mail-meta{min-width:0;flex:1}.msg-mail-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.msg-mail-name{font-size:12.5px;font-weight:900;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-mail-time{font-size:10px;color:#94a3b8;flex-shrink:0}.msg-mail-subject{font-size:12px;color:#334155;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.msg-mail-preview{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.msg-mail-role{display:inline-flex;margin-top:7px;background:#eef2ff;color:#4f46e5;border-radius:999px;padding:2px 8px;font-size:9.5px;font-weight:800}
.msg-mail-panel{display:flex;flex-direction:column;min-width:0;background:white}.msg-empty-modern{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:#94a3b8;padding:30px}.msg-empty-modern .material-symbols-rounded{font-size:62px;color:#e2e8f0;display:block;margin-bottom:12px}.msg-empty-modern h3{font-size:18px;color:#111;margin-bottom:4px}.msg-empty-modern p{font-size:13px;margin-bottom:14px}
.msg-mail-chat-head{display:none;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid #edf0f4;background:white}.msg-mail-contact{display:flex;align-items:center;gap:12px;min-width:0}.msg-mail-contact h3{font-size:15px;font-weight:900;color:#111;margin:0}.msg-mail-contact p{font-size:11px;color:#94a3b8;margin:2px 0 0}.msg-mail-actions{display:flex;gap:8px}.msg-mail-icon-btn{width:34px;height:34px;border-radius:11px;border:1px solid #e5e7eb;background:white;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b}.msg-mail-icon-btn:hover{border-color:var(--gold);color:#111}
#msg-bubbles{flex:1;overflow:auto;padding:22px;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);display:flex;flex-direction:column;gap:10px}.msg-email-card{max-width:760px;width:100%;background:#fff;border:1px solid #edf0f4;border-radius:16px;padding:16px 18px;box-shadow:0 4px 18px rgba(15,23,42,.04);align-self:flex-start}.msg-email-card.mine{align-self:flex-end;border-color:rgba(212,175,55,.35);background:#fffdf5}.msg-email-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f1f5f9;padding-bottom:10px;margin-bottom:10px}.msg-email-subject{font-size:13px;font-weight:900;color:#111}.msg-email-date{font-size:10.5px;color:#94a3b8;white-space:nowrap}.msg-email-from{font-size:11px;color:#64748b;margin-bottom:9px}.msg-email-body{font-size:13px;line-height:1.6;color:#111;white-space:pre-wrap}.msg-date-sep{text-align:center;margin:4px 0}.msg-date-sep span{background:#e2e8f0;color:#64748b;font-size:10px;padding:4px 10px;border-radius:999px;font-weight:800}
.msg-input-modern{display:none;border-top:1px solid #edf0f4;background:white;padding:14px 18px}.msg-input-row{display:flex;gap:10px;align-items:flex-end}.msg-input-row textarea{flex:1;border:1px solid #e5e7eb;border-radius:14px;padding:12px 14px;font-size:13px;min-height:46px;max-height:140px;resize:none;outline:none}.msg-send-btn{width:46px;height:46px;border:none;border-radius:14px;background:var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer}.msg-send-btn .material-symbols-rounded{font-size:21px;color:#000}
body.dark .msg-mail-app,body.dark .msg-mail-panel,body.dark .msg-mail-chat-head,body.dark .msg-input-modern{background:#1e1e1e;border-color:#2a2a38}body.dark .msg-mail-sidebar{background:#181824;border-color:#2a2a38}body.dark .msg-mail-title,body.dark .msg-mail-name,body.dark .msg-empty-modern h3,body.dark .msg-mail-contact h3,body.dark .msg-email-subject,body.dark .msg-email-body{color:#eee}body.dark .msg-mail-item:hover,body.dark .msg-mail-item.active,body.dark .msg-email-card{background:#20202b;border-color:#2a2a38}body.dark #msg-bubbles{background:#181824}body.dark .msg-search-wrap input,body.dark .msg-input-row textarea{background:#2a2a38;border-color:#3a3a48;color:#eee}
@media(max-width:900px){.msg-mail-app{grid-template-columns:1fr;height:auto;min-height:0}.msg-mail-sidebar{min-height:260px}.msg-mail-panel{min-height:520px}}



/* ===== Corrections UI v23 =====
   1. Titre + boutons : même espace que les autres pages (padding-top content)
   2. Bonjour cursif conservé + espace avant le nom
   3. Journal : réduire l'espace entre le titre et "Activité des employés"
=============================================================================== */

/* 1. Contenu décalé vers le bas — même espacement topbar que les autres pages */
.content{
  padding-top: 72px !important;
}

/* Tous les en-têtes de page : même padding vertical pour descendre du topbar */
.page-hero,.page-header,.locataires-modern-header,.proprietaires-page-header,.biens-page-header{
  padding: 14px 0 10px !important;
  margin: 0 0 14px !important;
  min-height: auto !important;
}
/* Biens : forcer exactement même distance que Locataires */
#page-biens .biens-page-header{
  margin-top: 0 !important;
  padding-top: 14px !important;
  padding-bottom: 10px !important;
}

/* 2. Bonjour cursif conservé + espace avec le nom */
.dash-hello{
  gap: 12px !important;
  align-items: flex-end !important;
}
/* "Bonjour" garde son style cursif d'origine */
.dash-hello em{
  font-family: 'Brush Script MT','Segoe Script',cursive !important;
  font-size: 44px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: .9 !important;
  color: #D4AF37 !important;
}
/* Trait décoratif sous "Bonjour" */
.dash-hello em:after{
  display: block !important;
  left: 20px !important; right: -14px !important;
  bottom: -7px !important; height: 12px !important;
  border-bottom: 2px solid #D4AF37 !important;
}
.dash-hello em:before{
  display: block !important;
  right: -18px !important; bottom: -13px !important;
  font-size: 10px !important; color: #D4AF37 !important;
}
/* Le nom : même style cursif que "Bonjour" */
.dash-hello span{
  font-family: 'Brush Script MT','Segoe Script',cursive !important;
  font-size: 44px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: .9 !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  background: none !important;
}

/* 3. Journal — réduire l'espace entre le titre de page et "Activité des employés" */
#page-journal .page-hero{
  margin-bottom: 4px !important;
}
#page-journal{
  gap: 8px !important;
}

/* ===== Ajustement final — page Biens compacte + bouton thème topbar ===== */
#page-biens .biens-page-header{
  margin-bottom:10px !important;
  gap:8px !important;
  align-items:center !important;
}
#page-biens .biens-page-header h2{
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.12 !important;
  margin:0 0 2px 0 !important;
  letter-spacing:-.1px !important;
}
#page-biens .biens-page-header p{
  font-size:10.5px !important;
  line-height:1.25 !important;
}
#page-biens .biens-page-header button,
#page-biens .biens-page-header .gp-export-btn{
  min-height:32px !important;
  height:32px !important;
  padding:0 11px !important;
  border-radius:8px !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  gap:5px !important;
  box-shadow:0 2px 7px rgba(212,175,55,.18) !important;
}
#page-biens .biens-page-header button .material-symbols-rounded,
#page-biens .biens-page-header .gp-export-btn .material-symbols-rounded,
#page-biens .biens-page-header .material-symbols-rounded{
  font-size:14px !important;
}
#themeIcon .material-symbols-rounded{
  transition:transform .18s ease;
}
#themeIcon:hover .material-symbols-rounded{
  transform:rotate(-12deg) scale(1.05);
}
@media(max-width:900px){
  #page-biens .biens-page-header button,
  #page-biens .biens-page-header .gp-export-btn{
    height:31px !important;
    min-height:31px !important;
    padding:0 10px !important;
    font-size:11px !important;
  }
  #page-biens .biens-page-header h2{font-size:14.5px !important;}
}

/* =====================================================================
   DARK MODE — Correctif global v24
   Couvre tous les éléments inline (style="background:white" etc.)
   et les composants non ciblés par les règles existantes
===================================================================== */

/* Fond général et texte de base */
body.dark{ color:#e0e0e0 !important; }

/* Tous les éléments avec background blanc ou gris clair en inline */
body.dark [style*="background:white"],
body.dark [style*="background: white"],
body.dark [style*="background:#fff"],
body.dark [style*="background: #fff"],
body.dark [style*="background:#ffffff"],
body.dark [style*="background:#f9fafb"],
body.dark [style*="background:#f8fafc"],
body.dark [style*="background:#f3f4f6"],
body.dark [style*="background:#fafafa"]{
  background:#1e1e1e !important;
  border-color:#2a2a38 !important;
}

/* Textes noirs inline */
body.dark [style*="color:#111"],
body.dark [style*="color: #111"],
body.dark [style*="color:#000"],
body.dark [style*="color:#0f0f0f"],
body.dark [style*="color:#1a1a1a"],
body.dark [style*="color:#333"],
body.dark [style*="color:#222"]{
  color:#e0e0e0 !important;
}
body.dark [style*="color:#374151"]{ color:#c4c4c4 !important; }
body.dark [style*="color:#555"]{ color:#aaa !important; }
body.dark [style*="color:#444"]{ color:#bbb !important; }
body.dark [style*="color:#666"]{ color:#999 !important; }

/* Bordures inline claires */
body.dark [style*="border:1px solid #e5e7eb"],
body.dark [style*="border: 1px solid #e5e7eb"],
body.dark [style*="border-color:#e5e7eb"],
body.dark [style*="border-bottom:1px solid #f0f0f0"],
body.dark [style*="border-top:1px solid #f0f0f0"],
body.dark [style*="border-bottom:1px solid #edf0f4"],
body.dark [style*="border-top:1px solid #edf0f4"]{
  border-color:#2a2a38 !important;
}

/* Fonds spéciaux inline */
body.dark [style*="background:#fdf9ec"],
body.dark [style*="background:#fff8e3"],
body.dark [style*="background:#fffdf5"],
body.dark [style*="background:#fffdf6"],
body.dark [style*="background:#fef9c3"]{
  background:#1e1e1e !important;
}
body.dark [style*="background:#f0fdf4"],
body.dark [style*="background:#dcfce7"]{
  background:#132417 !important;
  border-color:#166534 !important;
}
body.dark [style*="background:#dbeafe"],
body.dark [style*="background:#eff6ff"]{
  background:#0f1e38 !important;
  border-color:#1e40af !important;
}
body.dark [style*="background:#fee2e2"],
body.dark [style*="background:#fff5f5"]{
  background:#2a0a0a !important;
  border-color:#7f1d1d !important;
}
body.dark [style*="background:#ecebff"],
body.dark [style*="background:#ede9fe"],
body.dark [style*="background:#eef2ff"]{
  background:#1a1535 !important;
}

/* Titres h2/h3 inline sans classe */
body.dark h2[style],
body.dark h3[style]{
  color:#eee !important;
}

/* Textes de sous-titre inline */
body.dark p[style*="color:#9ca3af"]{ color:#6b7280 !important; }
body.dark small[style*="color:#9ca3af"]{ color:#6b7280 !important; }
body.dark div[style*="color:#9ca3af"]{ color:#6b7280 !important; }
body.dark span[style*="color:#9ca3af"]{ color:#6b7280 !important; }

/* Tableaux — cellules et lignes */
body.dark tbody td{ color:#ddd !important; }
body.dark tbody tr:hover td{ color:#fff !important; }

/* Inputs et selects non couverts */
body.dark textarea{
  background:#2a2a38 !important;
  border-color:#3a3a48 !important;
  color:#e5e5e5 !important;
}

/* Boutons blancs / gris inline */
body.dark button[style*="background:white"],
body.dark button[style*="background:#fff"],
body.dark button[style*="background:#f9fafb"],
body.dark button[style*="background:#f3f4f6"]{
  background:#2a2a38 !important;
  color:#ddd !important;
  border-color:#3a3a48 !important;
}

/* Modal rowModal box inline styles */
body.dark .row-modal-box,
body.dark .row-modal-box [style*="background:#fafafa"],
body.dark .row-modal-box [style*="background:#f9fafb"]{
  background:#181824 !important;
  border-color:#2a2a38 !important;
  color:#ddd !important;
}
body.dark .row-modal-box [style*="color:#111"],
body.dark .row-modal-box [style*="color:#374151"],
body.dark .row-modal-box [style*="color:#333"]{
  color:#ddd !important;
}
body.dark .row-modal-box [style*="border-top:1px solid #f0f0f0"],
body.dark .row-modal-box [style*="border-bottom:1px solid #f0f0f0"]{
  border-color:#2a2a38 !important;
}

/* Stat cards et mini-cards inline */
body.dark [style*="border-left:4px solid"]{
  background:#1e1e1e !important;
}
body.dark [style*="background:white;border-radius"]{
  background:#1e1e1e !important;
}

/* Éléments de formulaire nv-employe / nv-locataire etc. */
body.dark .form-page-grid .card{
  background:#1e1e1e !important;
  color:#ddd !important;
}
body.dark .form-page-grid .card h3{
  color:#eee !important;
  border-color:#2a2a38 !important;
}
body.dark .fg label{ color:#9ca3af !important; }
body.dark .switch-row{ color:#ddd !important; border-color:#2a2a38 !important; }
body.dark .switch-row span{ color:#ddd !important; }
body.dark .photo-box{
  border-color:#3a3a48 !important;
  color:#888 !important;
  background:#181824 !important;
}

/* Confirmation modale super admin */
body.dark #superAdminConfirmBox > div{
  background:#1e1e1e !important;
  border-color:#2a2a38 !important;
  color:#ddd !important;
}
body.dark #superAdminConfirmBox [style*="background:#fff8f8"],
body.dark #superAdminConfirmBox [style*="background:#fee2e2"]{
  background:#2a0a0a !important;
}
body.dark #superAdminConfirmBox [style*="color:#374151"]{ color:#ccc !important; }
body.dark #superAdminConfirmBox h3[style],
body.dark #superAdminConfirmBox div[style*="color:#111"]{ color:#eee !important; }

/* Reset password section */
body.dark #edit-pass-generated-wrap{
  background:#132417 !important;
  border-color:#166534 !important;
}
body.dark #edit-pass-generated{ color:#4ade80 !important; }

/* Badges de statut */
body.dark .gp-status-pill{ background:#1e2e1e !important; color:#4ade80 !important; }
body.dark .gp-status-pill.off{ background:#2a2a38 !important; color:#9ca3af !important; }
body.dark .badge.green{ background:#132417 !important; color:#4ade80 !important; }
body.dark .badge.blue{ background:#0f1e38 !important; color:#93c5fd !important; }
body.dark .badge.orange{ background:#2a1500 !important; color:#fb923c !important; }
body.dark .badge.red{ background:#2a0a0a !important; color:#f87171 !important; }

/* Topbar — contenu fond gris foncé */
body.dark .topbar{ background:#181818 !important; }
body.dark .content{ background:#121212 !important; }

/* Séparateurs */
body.dark hr,
body.dark [style*="height:1px"],
body.dark [style*="width:1px"]{ background:#2a2a38 !important; }

/* ── style-18.css ── */
/* Message sync discret : on garde un petit bouton, le détail sort en mini-modal */
#syncIndicator{
  min-width:34px!important;height:28px!important;padding:0 10px!important;border-radius:999px!important;
  font-size:0!important;gap:-2px!important;cursor:pointer!important;box-shadow:none!important;
}
#syncIndicator .material-symbols-rounded{font-size:15px!important;margin:0!important;}
#syncIndicator.gp-sync-has-text{font-size:11px!important;gap:5px!important;}
.gp-sync-modal{
  position:fixed;top:62px;right:108px;z-index:9998;width:280px;max-width:calc(100vw - 28px);
  background:#fff;border:1px solid #fee2e2;border-left:4px solid #dc2626;border-radius:14px;
  box-shadow:0 14px 45px rgba(15,23,42,.14);padding:14px 15px;display:none;animation:gpSyncIn .18s ease;
}
.gp-sync-modal.show{display:block}.gp-sync-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.gp-sync-modal-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:900;color:#991b1b}.gp-sync-modal-title .material-symbols-rounded{font-size:18px}.gp-sync-modal-close{border:none;background:transparent;cursor:pointer;color:#9ca3af;width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center}.gp-sync-modal-close:hover{background:#f3f4f6;color:#111}.gp-sync-modal-body{font-size:12px;line-height:1.55;color:#4b5563}.gp-sync-modal-body strong{color:#111}.gp-sync-modal-foot{font-size:11px;color:#9ca3af;margin-top:8px;border-top:1px solid #f3f4f6;padding-top:8px}
@keyframes gpSyncIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
body.dark .gp-sync-modal{background:#1e1e1e;border-color:#451a1a;border-left-color:#ef4444;color:#ddd}body.dark .gp-sync-modal-body strong{color:#eee}body.dark .gp-sync-modal-close:hover{background:#2a2a38;color:#eee}body.dark .gp-sync-modal-foot{border-color:#2a2a38}

/* Même hauteur/alignement des titres et boutons sur toutes les pages */
.page{padding-top:0!important;margin-top:0!important}.content{padding-top:78px!important}.page-header,.biens-page-header,.audit-header,.rpt-header{margin-top:0!important;margin-bottom:14px!important;min-height:58px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}.page-header h2,.biens-page-header h2,.audit-main-title,.rpt-main-title,.page-hero-text h3{font-size:20px!important;font-weight:900!important;line-height:1.15!important;margin:0 0 4px 0!important;color:#000!important;letter-spacing:-.2px!important}.page-header p,.biens-page-header p,.audit-subtitle,.rpt-subtitle,.page-hero-text p{font-size:13px!important;line-height:1.35!important;margin:0!important;color:#9ca3af!important}.page-header .btn,.biens-page-header .btn,.audit-actions .btn,.rpt-actions .btn,.page-hero-actions .btn,.top-actions .btn{height:44px!important;border-radius:12px!important;padding:0 18px!important;font-size:14px!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;gap:7px!important}.page-header .material-symbols-rounded,.biens-page-header .material-symbols-rounded,.audit-actions .material-symbols-rounded,.rpt-actions .material-symbols-rounded,.page-hero-actions .material-symbols-rounded,.top-actions .material-symbols-rounded{font-size:17px!important}.page-hero{margin-top:0!important;margin-bottom:14px!important;padding:0!important;background:transparent!important;box-shadow:none!important;border-left:0!important;min-height:58px!important}.page-hero-icon{display:none!important}.rpt-title-block,.audit-title-block{gap:10px!important}.rpt-icon-wrap,.audit-icon-wrap{width:36px!important;height:36px!important;border-radius:11px!important}.rpt-icon-wrap .material-symbols-rounded,.audit-icon-wrap .material-symbols-rounded{font-size:20px!important}body.dark .page-header h2,body.dark .biens-page-header h2,body.dark .audit-main-title,body.dark .rpt-main-title,body.dark .page-hero-text h3{color:#eee!important}
@media(max-width:760px){.page-header,.biens-page-header,.audit-header,.rpt-header,.page-hero{flex-direction:column!important;align-items:stretch!important}.page-header .btn,.biens-page-header .btn,.audit-actions .btn,.rpt-actions .btn,.page-hero-actions .btn,.top-actions .btn{width:100%;justify-content:center!important}}

/* ── style-19.css ── */
/* Référence visuelle page Biens : mêmes tailles, mêmes espacements, mêmes boutons */
.content{padding-top:78px!important;}
.page{padding-top:0!important;margin-top:0!important;}

.page-header,.biens-page-header,.proprietaires-page-header,.locataires-modern-header,.audit-header,.rpt-header,.page-hero{
  margin-top:0!important;margin-bottom:14px!important;min-height:56px!important;
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:10px!important;flex-wrap:wrap!important;padding:0!important;background:transparent!important;
  border:0!important;box-shadow:none!important;border-left:0!important;
}
.page-hero-icon,.audit-icon-wrap,.rpt-icon-wrap{display:none!important;}
.page-hero-text,.locataires-modern-title,.audit-title-block,.rpt-title-block{flex:1!important;min-width:220px!important;}

.page-header h2,.biens-page-header h2,.proprietaires-page-header h2,.locataires-modern-title h2,
.page-hero-text h3,.audit-main-title,.rpt-main-title{
  font-size:20px!important;font-weight:900!important;line-height:1.15!important;
  margin:0 0 4px 0!important;color:#000!important;letter-spacing:-.2px!important;
}
.page-header p,.biens-page-header p,.proprietaires-page-header p,.locataires-modern-title p,
.page-hero-text p,.audit-subtitle,.rpt-subtitle{
  font-size:13px!important;line-height:1.35!important;margin:0!important;color:#9ca3af!important;font-weight:400!important;
}
.page-header>div:last-child,.biens-page-header>div:last-child,.proprietaires-page-header>div:last-child,
.locataires-modern-actions,.page-hero-actions,.audit-actions,.rpt-actions,.top-actions{
  display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;
}
.page-header .btn,.biens-page-header .btn,.proprietaires-page-header .btn,.locataires-modern-actions .btn,
.page-hero-actions .btn,.audit-actions .btn,.rpt-actions .btn,.top-actions .btn,.gp-export-btn,
.page-header button,.biens-page-header button,.proprietaires-page-header button,.locataires-modern-actions button,
.page-hero-actions button,.audit-actions button,.rpt-actions button{
  height:42px!important;min-height:42px!important;border-radius:12px!important;padding:0 18px!important;
  font-size:14px!important;font-weight:800!important;line-height:0.9!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;gap:7px!important;
}
.page-header .material-symbols-rounded,.biens-page-header .material-symbols-rounded,.proprietaires-page-header .material-symbols-rounded,
.locataires-modern-actions .material-symbols-rounded,.page-hero-actions .material-symbols-rounded,.audit-actions .material-symbols-rounded,
.rpt-actions .material-symbols-rounded,.top-actions .material-symbols-rounded,.gp-export-btn .material-symbols-rounded{
  font-size:17px!important;line-height:0.9!important;
}
body.dark .page-header h2,body.dark .biens-page-header h2,body.dark .proprietaires-page-header h2,
body.dark .locataires-modern-title h2,body.dark .page-hero-text h3,body.dark .audit-main-title,body.dark .rpt-main-title{color:#eee!important;}
@media(max-width:760px){
  .page-header,.biens-page-header,.proprietaires-page-header,.locataires-modern-header,.audit-header,.rpt-header,.page-hero{flex-direction:column!important;align-items:stretch!important;}
  .page-header .btn,.biens-page-header .btn,.proprietaires-page-header .btn,.locataires-modern-actions .btn,.page-hero-actions .btn,.audit-actions .btn,.rpt-actions .btn,.top-actions .btn{width:100%!important;}
}

/* ── style-20.css ── */
/* En-têtes : force toutes les pages au gabarit exact de la page Biens */
.content .page-header,
.content .biens-page-header,
.content .proprietaires-page-header,
.content .locataires-modern-header,
.content .audit-header,
.content .rpt-header,
.content .page-hero{
  margin-top:0!important;
  margin-bottom:14px!important;
  padding:0!important;
  min-height:44px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.content .page-header h2,
.content .biens-page-header h2,
.content .proprietaires-page-header h2,
.content .locataires-modern-title h2,
.content .page-hero-text h3,
.content .audit-main-title,
.content .rpt-main-title,
.content .cfg-section-title{
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:900!important;
  margin:0 0 4px 0!important;
  letter-spacing:-.25px!important;
}
.content .page-header p,
.content .biens-page-header p,
.content .proprietaires-page-header p,
.content .locataires-modern-title p,
.content .page-hero-text p,
.content .audit-subtitle,
.content .rpt-subtitle{
  font-size:13px!important;
  line-height:1.35!important;
  margin:0!important;
  color:#9ca3af!important;
}
.content .page-header .btn,
.content .biens-page-header .btn,
.content .proprietaires-page-header .btn,
.content .locataires-modern-actions .btn,
.content .page-hero-actions .btn,
.content .audit-actions .btn,
.content .rpt-actions .btn,
.content .top-actions .btn,
.content .gp-export-btn,
.content .page-header button,
.content .biens-page-header button,
.content .proprietaires-page-header button,
.content .locataires-modern-actions button,
.content .page-hero-actions button,
.content .audit-actions button,
.content .rpt-actions button{
  height:30px!important;
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:7px!important;
  font-size:12px!important;
  line-height:0.9!important;
  font-weight:600!important;
}

/* Bureau : les 3 blocs restent sur une seule ligne, agenda compris */
#page-bureau .dash-revenus-layout,
#page-dashboard .dash-revenus-layout,
.compact-dashboard .dash-revenus-layout{
  display:grid!important;
  grid-template-columns:minmax(210px,.82fr) minmax(260px,1fr) minmax(190px,.72fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
}
#page-bureau .dash-revenue-box,
#page-bureau .dash-chart-wrap,
#page-bureau .dash-agenda-card,
#page-dashboard .dash-revenue-box,
#page-dashboard .dash-chart-wrap,
#page-dashboard .dash-agenda-card,
.compact-dashboard .dash-revenue-box,
.compact-dashboard .dash-chart-wrap,
.compact-dashboard .dash-agenda-card{
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  padding:9px!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
#page-bureau .dash-agenda-card,
#page-dashboard .dash-agenda-card,
.compact-dashboard .dash-agenda-card{
  display:flex!important;
  flex-direction:column!important;
}
#page-bureau .dash-panel-title,
#page-dashboard .dash-panel-title,
.compact-dashboard .dash-panel-title{
  font-size:12px!important;
  line-height:1.05!important;
  font-weight:900!important;
}
#page-bureau .dash-panel-head,
#page-dashboard .dash-panel-head,
.compact-dashboard .dash-panel-head{
  padding:6px 7px!important;
  margin:0!important;
}
#page-bureau .dash-tabs,
#page-dashboard .dash-tabs,
.compact-dashboard .dash-tabs{
  gap:10px!important;
  margin-bottom:6px!important;
}
#page-bureau .dash-tab,
#page-dashboard .dash-tab,
.compact-dashboard .dash-tab{
  font-size:9px!important;
  padding:4px 0 6px!important;
}
#page-bureau .dash-revenue-top,
#page-dashboard .dash-revenue-top,
.compact-dashboard .dash-revenue-top{
  height:62px!important;
  min-height:62px!important;
  margin-bottom:7px!important;
  padding:7px 8px!important;
  grid-template-columns:42px 1fr 1fr!important;
  border-radius:8px!important;
}
#page-bureau .dash-money-icon,
#page-dashboard .dash-money-icon,
.compact-dashboard .dash-money-icon{
  width:34px!important;
  height:34px!important;
}
#page-bureau .dash-money-icon .material-symbols-rounded,
#page-dashboard .dash-money-icon .material-symbols-rounded,
.compact-dashboard .dash-money-icon .material-symbols-rounded{
  font-size:20px!important;
}
#page-bureau .dash-pay-stat,
#page-dashboard .dash-pay-stat,
.compact-dashboard .dash-pay-stat{
  padding-left:7px!important;
}
#page-bureau .dash-pay-stat span,
#page-dashboard .dash-pay-stat span,
.compact-dashboard .dash-pay-stat span,
#page-bureau .dash-money-card label,
#page-dashboard .dash-money-card label,
.compact-dashboard .dash-money-card label{
  font-size:8.5px!important;
  line-height:1.05!important;
  margin-bottom:2px!important;
}
#page-bureau .dash-pay-stat strong,
#page-dashboard .dash-pay-stat strong,
.compact-dashboard .dash-pay-stat strong{
  font-size:20px!important;
  line-height:0.9!important;
}
#page-bureau .dash-money-cards,
#page-dashboard .dash-money-cards,
.compact-dashboard .dash-money-cards{
  gap:6px!important;
}
#page-bureau .dash-money-card,
#page-dashboard .dash-money-card,
.compact-dashboard .dash-money-card{
  height:48px!important;
  min-height:48px!important;
  padding:6px 7px!important;
  gap:6px!important;
  border-radius:8px!important;
}
#page-bureau .dash-mini-icon,
#page-dashboard .dash-mini-icon,
.compact-dashboard .dash-mini-icon{
  width:28px!important;
  height:28px!important;
}
#page-bureau .dash-mini-icon .material-symbols-rounded,
#page-dashboard .dash-mini-icon .material-symbols-rounded,
.compact-dashboard .dash-mini-icon .material-symbols-rounded{
  font-size:16px!important;
}
#page-bureau .dash-money-card strong,
#page-dashboard .dash-money-card strong,
.compact-dashboard .dash-money-card strong{
  font-size:14px!important;
  line-height:0.9!important;
}
#page-bureau .dash-chart-card,
#page-dashboard .dash-chart-card,
.compact-dashboard .dash-chart-card{
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
}
#page-bureau .dash-chart-card canvas,
#page-dashboard .dash-chart-card canvas,
.compact-dashboard .dash-chart-card canvas{
  max-height:160px!important;
}
#page-bureau .dash-agenda-summary,
#page-dashboard .dash-agenda-summary,
.compact-dashboard .dash-agenda-summary{
  grid-template-columns:1fr 1fr!important;
  margin:5px 0 6px!important;
}
#page-bureau .dash-agenda-summary>div:first-child,
#page-dashboard .dash-agenda-summary>div:first-child,
.compact-dashboard .dash-agenda-summary>div:first-child{
  display:none!important;
}
#page-bureau .dash-agenda-label,
#page-dashboard .dash-agenda-label,
.compact-dashboard .dash-agenda-label{
  font-size:8.5px!important;
  line-height:1.05!important;
}
#page-bureau .dash-agenda-num,
#page-dashboard .dash-agenda-num,
.compact-dashboard .dash-agenda-num{
  font-size:24px!important;
  line-height:0.9!important;
}
#page-bureau #homeAgendaList,
#page-dashboard #homeAgendaList,
.compact-dashboard #homeAgendaList{
  min-height:70px!important;
  max-height:88px!important;
  overflow:hidden!important;
}
#page-bureau .dash-event,
#page-dashboard .dash-event,
.compact-dashboard .dash-event{
  margin:0 0 5px!important;
  padding:6px 7px!important;
  font-size:9.5px!important;
  border-radius:7px!important;
}
#page-bureau .dash-event-title,
#page-dashboard .dash-event-title,
.compact-dashboard .dash-event-title{
  font-size:10.5px!important;
  margin-bottom:3px!important;
}
#page-bureau .dash-show-all,
#page-dashboard .dash-show-all,
.compact-dashboard .dash-show-all{
  width:100%!important;
  margin:auto 0 0!important;
  height:28px!important;
  padding:0!important;
  font-size:10.5px!important;
  border-radius:8px!important;
}

/* Sur écrans plus petits : rester en ligne, mais tout miniaturiser encore */
@media(max-width:1100px){
  #page-bureau .dash-revenus-layout,
  #page-dashboard .dash-revenus-layout,
  .compact-dashboard .dash-revenus-layout{
    grid-template-columns:minmax(170px,.82fr) minmax(220px,1fr) minmax(160px,.7fr)!important;
    gap:7px!important;
  }
  #page-bureau .dash-revenue-box,#page-bureau .dash-chart-wrap,#page-bureau .dash-agenda-card,
  #page-dashboard .dash-revenue-box,#page-dashboard .dash-chart-wrap,#page-dashboard .dash-agenda-card,
  .compact-dashboard .dash-revenue-box,.compact-dashboard .dash-chart-wrap,.compact-dashboard .dash-agenda-card{
    height:198px!important;min-height:198px!important;max-height:198px!important;padding:7px!important;
  }
  #page-bureau .dash-money-card strong,#page-dashboard .dash-money-card strong,.compact-dashboard .dash-money-card strong{font-size:12px!important;}
  #page-bureau .dash-chart-card,#page-dashboard .dash-chart-card,.compact-dashboard .dash-chart-card{height:148px!important;min-height:148px!important;max-height:148px!important;}
  #page-bureau .dash-chart-card canvas,#page-dashboard .dash-chart-card canvas,.compact-dashboard .dash-chart-card canvas{max-height:140px!important;}
}
@media(max-width:820px){
  #page-bureau .dash-revenus-layout,
  #page-dashboard .dash-revenus-layout,
  .compact-dashboard .dash-revenus-layout{
    grid-template-columns:minmax(135px,.82fr) minmax(170px,1fr) minmax(130px,.72fr)!important;
    gap:5px!important;
  }
  #page-bureau .dash-revenue-box,#page-bureau .dash-chart-wrap,#page-bureau .dash-agenda-card,
  #page-dashboard .dash-revenue-box,#page-dashboard .dash-chart-wrap,#page-dashboard .dash-agenda-card,
  .compact-dashboard .dash-revenue-box,.compact-dashboard .dash-chart-wrap,.compact-dashboard .dash-agenda-card{
    height:182px!important;min-height:182px!important;max-height:182px!important;padding:5px!important;
  }
  #page-bureau .dash-money-icon,#page-dashboard .dash-money-icon,.compact-dashboard .dash-money-icon{display:none!important;}
  #page-bureau .dash-revenue-top,#page-dashboard .dash-revenue-top,.compact-dashboard .dash-revenue-top{grid-template-columns:1fr 1fr!important;height:50px!important;min-height:50px!important;}
  #page-bureau .dash-pay-stat strong,#page-dashboard .dash-pay-stat strong,.compact-dashboard .dash-pay-stat strong{font-size:16px!important;}
  #page-bureau .dash-mini-icon,#page-dashboard .dash-mini-icon,.compact-dashboard .dash-mini-icon{display:none!important;}
  #page-bureau .dash-money-card,#page-dashboard .dash-money-card,.compact-dashboard .dash-money-card{height:40px!important;min-height:40px!important;padding:5px!important;}
  #page-bureau .dash-money-card strong,#page-dashboard .dash-money-card strong,.compact-dashboard .dash-money-card strong{font-size:10.5px!important;}
}

/* ====================================================
   STYLE FINAL ABSOLU — Sidebar blanche + Logo + Nav
==================================================== */
:root{
  --gold-bg:#fff8e5;
  --line:#e9edf3;
  --soft-bg:#f4f5f7;
  --sidebar-w:160px;
}

/* ---- SIDEBAR ---- */
.sidebar{
  width:var(--sidebar-w) !important;
  background:var(--soft-bg) !important;
  border-right:1px solid var(--line) !important;
  box-shadow:none !important;
  padding:12px 8px 8px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

/* ---- LOGO : conteneur ---- */
.sidebar .logo,
.logo{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 0 10px !important;
  margin-bottom:4px !important;
  border-bottom:1px solid #e0e2e7 !important;
  border-top:none !important;
  height:auto !important;
  flex-shrink:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* ---- LOGO : rond doré ---- */
.logo-icon{
  width:26px !important; height:26px !important;
  min-width:26px !important;
  border-radius:50% !important;
  background:#D4AF37 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-size:9px !important; font-weight:800 !important; color:#111 !important;
  flex-shrink:0 !important;
}

/* ---- LOGO : texte ---- */
.logo-text{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  color:#1a1a1a !important;
  white-space:nowrap !important;
  line-height:1 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  overflow:visible !important;
  max-width:none !important;
  clip:auto !important;
}

/* Cacher l'ancienne image logo si présente */
.sidebar .logo img{ display:block!important; }
/* Cacher anciens spans texte */
.sidebar .logo > span:not(.logo-text){ display:none !important; }
.sidebar .logo span:first-child:not(.logo-text){ font-size:0 !important; }

/* ---- MENU ---- */
.menu{
  margin-top:4px !important;
  gap:3px !important;
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  border-top:none !important;
  overflow:visible !important;
}
.menu li{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  padding:9px 11px !important;
  font-size:12.5px !important;
  font-weight:600 !important;
  border-radius:8px !important;
  height:auto !important;
  min-height:0 !important;
  color:#555d6b !important;
  background:transparent !important;
  box-shadow:none !important;
  transition:background .15s, color .15s !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}
.menu li span,
.menu li .material-symbols-rounded{
  font-size:18px !important;
  color:#9ca3af !important;
  flex-shrink:0 !important;
}
.menu li:hover{
  background:#e8e9ec !important;
  color:#16191f !important;
}
.menu li:hover span,
.menu li:hover .material-symbols-rounded{
  color:#374151 !important;
}
.menu li.active{
  background:#fff8e5 !important;
  color:#d9a313 !important;
  box-shadow:none !important;
}
.menu li.active span,
.menu li.active .material-symbols-rounded{
  color:#d9a313 !important;
}
.menu li.logout{
  margin-top:6px !important;
  color:#dc2626 !important;
  border-top:1px solid #e9edf3 !important;
  padding:9px 11px !important;
  padding-top:10px !important;
}
.menu li.logout span,
.menu li.logout .material-symbols-rounded{
  color:#dc2626 !important;
}
.menu li.logout:hover{
  background:rgba(220,38,38,.08) !important;
  color:#b91c1c !important;
}

/* ---- TOPBAR ---- */
.topbar{
  left:var(--sidebar-w) !important;
  background:var(--soft-bg) !important;
  box-shadow:0 1px 0 var(--line) !important;
}


/* ===== PATCH DEMANDE — calendrier dashboard + nav compacte ===== */
:root{
  --sidebar-w:156px !important;
}
.sidebar{
  width:var(--sidebar-w) !important;
  padding-left:8px !important;
  padding-right:8px !important;
}
.logo{
  padding-left:12px !important;
  padding-right:4px !important;
  gap:7px !important;
}
.logo-icon{
  width:26px !important;
  height:26px !important;
  font-size:9px !important;
}
.logo-text{
  font-size:11px !important;
  letter-spacing:-.2px !important;
}
.menu li{
  padding:6px 7px !important;
  gap:7px !important;
  font-size:10.5px !important;
}
.menu li span,
.menu li .material-symbols-rounded{
  font-size:15px !important;
}
.content{
  margin-left:var(--sidebar-w) !important;
}
.topbar{
  left:var(--sidebar-w) !important;
}
.dash-hero{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  width:100% !important;
}
.dash-hero-title-wrap{
  min-width:0 !important;
  flex:1 1 auto !important;
}
.dash-calendar-trigger{
  position:relative !important;
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:168px !important;
  height:42px !important;
  padding:0 14px !important;
  border-radius:14px !important;
  border:1px solid #ece8dc !important;
  background:#fff !important;
  color:#111827 !important;
  box-shadow:0 6px 18px rgba(20,20,20,.06) !important;
  cursor:pointer !important;
  font-family:var(--font-body) !important;
  transition:.18s ease !important;
}
.dash-calendar-trigger:hover{
  border-color:rgba(212,175,55,.55) !important;
  box-shadow:0 10px 24px rgba(212,175,55,.16) !important;
  transform:translateY(-1px) !important;
}
.dash-calendar-trigger .material-symbols-rounded{
  font-size:20px !important;
  color:var(--gold) !important;
}
.dash-calendar-date{
  display:inline-block !important;
  white-space:nowrap !important;
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:-.15px !important;
  line-height:1 !important;
}
#dashCalendarInput{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  cursor:pointer !important;
  border:0 !important;
  padding:0 !important;
}
body.dark .dash-calendar-trigger{
  background:#1e1e1e !important;
  border-color:#2a2a38 !important;
  color:#f3f4f6 !important;
  box-shadow:0 6px 18px rgba(0,0,0,.22) !important;
}
@media(max-width:760px){
  .dash-hero{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .dash-calendar-trigger{
    align-self:flex-end !important;
    min-width:150px !important;
  }
}

/* ── style-21.css ── */
/* ===== RETOUCHE NAV + LOGO — alignement capture utilisateur ===== */
:root{
  --sidebar-w: 228px !important;
}
.sidebar{
  width: var(--sidebar-w) !important;
  padding: 0 14px 14px !important;
}
.logo,
.sidebar .logo{
  height: 56px !important;
  padding: 0 8px 0 18px !important;
  margin: 0 -14px 12px !important;
  gap: 9px !important;
  align-items: center !important;
  border-bottom: 1px solid var(--line) !important;
  box-sizing: border-box !important;
}
.logo span:first-child,
.sidebar .logo span:first-child{
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  font-size: 10px !important;
}
.logo-text,
.sidebar .logo .logo-text,
.sidebar .logo span.logo-text{
  font-size: 10.4px !important;
  line-height: 1 !important;
  letter-spacing: -.15px !important;
  max-width: 150px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.menu{
  gap: 4px !important;
}
.menu li{
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  font-size: 12.2px !important;
  gap: 8px !important;
}
.menu li .material-symbols-rounded{
  width: 24px !important;
  min-width: 24px !important;
  font-size: 19px !important;
}
.menu li span:not(.material-symbols-rounded){
  font-size: 12.2px !important;
}
@media(max-width: 600px){
  :root{ --sidebar-w: 64px !important; }
  .sidebar{ width:64px !important; padding:10px 6px !important; }
  .topbar,.dash-breadcrumb{ left:64px !important; }
  .content{ margin-left:64px !important; }
}

/* ── style-22.css ── */
/* Le titre de la page courante s'affiche dans la topbar, à gauche */
.topbar{
  justify-content:space-between !important;
}
.topbar-breadcrumb,
.gp-global-breadcrumb{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  height:100% !important;
  pointer-events:auto !important;
}
.topbar .breadcrumb-box{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#111 !important;
  font-size:14px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.topbar .breadcrumb-box .material-symbols-rounded{
  font-size:18px !important;
  color:var(--gold) !important;
}
.topbar .top-icons{
  flex:0 0 auto !important;
}
/* Sur la page Employés, on laisse uniquement le petit texte + les actions dans le hero */
#page-employes .page-hero-text h3{
  display:none !important;
}
#page-employes .page-hero{
  padding-top:14px !important;
  padding-bottom:14px !important;
}
#page-employes .page-hero-text p{
  margin:0 !important;
  font-size:12px !important;
}
/* Texte du logo un peu plus grand sans déborder */
.logo-text,
.sidebar .logo .logo-text,
.sidebar .logo span.logo-text{
  font-size:11.4px !important;
  max-width:165px !important;
  letter-spacing:-.2px !important;
}

/* ── style-23.css ── */
:root{
  --sidebar-w:150px !important;
}

/* logo : espace à gauche + texte plus grand sans déborder */
.sidebar{
  width:var(--sidebar-w) !important;
  padding-left:12px !important;
  padding-right:10px !important;
}
.logo,
.sidebar .logo{
  padding-left:4px !important;
  gap:9px !important;
}
.logo-text,
.sidebar .logo .logo-text,
.sidebar .logo span.logo-text{
  font-size:12.8px !important;
  font-weight:800 !important;
  max-width:112px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  letter-spacing:-.25px !important;
}

/* menu un peu plus confortable */
.menu li{
  padding:9px 12px !important;
  font-size:12.8px !important;
}
.menu li span{
  font-size:17px !important;
}

/* topbar : titre à gauche centré verticalement et plus lisible */
.content{
  margin-left:var(--sidebar-w) !important;
}
.topbar{
  left:var(--sidebar-w) !important;
  min-height:56px !important;
  height:56px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.topbar-breadcrumb,
.gp-global-breadcrumb{
  height:56px !important;
  display:flex !important;
  align-items:center !important;
  flex:1 1 auto !important;
}
.topbar .breadcrumb-box{
  height:56px !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  gap:8px !important;
  font-size:15.8px !important;
  font-weight:800 !important;
  line-height:1 !important;
  transform:none !important;
}
.topbar .breadcrumb-box .material-symbols-rounded{
  font-size:17px !important;
  color:var(--gold) !important;
}
.topbar .breadcrumb-sep,
.topbar .breadcrumb-link{
  display:none !important;
}

/* boutons topbar plus petits et discrets */
.top-icons{
  align-items:center !important;
  gap:5px !important;
}
.tb-icon-btn{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  border-radius:8px !important;
  box-shadow:0 1px 3px rgba(0,0,0,.05) !important;
}
.tb-icon-btn .material-symbols-rounded{
  font-size:14px !important;
}
.tb-notif-dot{
  top:5px !important;
  right:5px !important;
  width:5px !important;
  height:5px !important;
}
#agendaTopbarDot{
  top:5px !important;
  right:5px !important;
  width:5px !important;
  height:5px !important;
}
.tb-sep{
  height:16px !important;
  margin:0 4px !important;
}
.user-box{
  min-height:30px !important;
  padding:3px 7px 3px 4px !important;
  border-radius:9px !important;
  gap:6px !important;
}
.user-avatar{
  width:25px !important;
  height:25px !important;
  border-radius:50% !important;
}
.user-name{
  font-size:11.2px !important;
  line-height:1.1 !important;
}
.user-role{
  font-size:8.7px !important;
}
.user-chevron{
  font-size:12px !important;
}
/* ====================================================
   PATCH V5 — logo espace gauche, titre centré topbar,
   boutons petits & discrets (écrase tous les anciens patches)
==================================================== */

/* --- Logo : espace gauche --- */
.logo,
.sidebar .logo {
  padding-left: 6px !important;
}

/* --- Topbar : titre parfaitement centré verticalement --- */
.topbar {
  align-items: center !important;
  min-height: 56px !important;
  height: 56px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.topbar-breadcrumb,
.gp-global-breadcrumb,
#globalBreadcrumb {
  display: flex !important;
  align-items: center !important;
  height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.topbar .breadcrumb-box {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
}

/* --- Boutons actions (Nouvel employé / Exporter / Importer) ---
   On écrase TOUTES les règles précédentes avec des tailles compactes */
.page-header .btn,
.biens-page-header .btn,
.audit-actions .btn,
.rpt-actions .btn,
.page-hero-actions .btn,
.top-actions .btn,
.locataires-modern-actions .btn,
.proprietaires-page-header .btn,
.gp-export-btn,
#page-biens .biens-page-header button,
#page-biens .biens-page-header .btn {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  gap: 5px !important;
  line-height: 32px !important;
  box-sizing: border-box !important;
}

.page-header .material-symbols-rounded,
.biens-page-header .material-symbols-rounded,
.audit-actions .material-symbols-rounded,
.rpt-actions .material-symbols-rounded,
.page-hero-actions .material-symbols-rounded,
.top-actions .material-symbols-rounded,
.locataires-modern-actions .material-symbols-rounded,
.proprietaires-page-header .material-symbols-rounded,
.gp-export-btn .material-symbols-rounded {
  font-size: 14px !important;
}

/* Bouton "Exporter" : discret avec bordure légère */
.gp-export-btn {
  background: white !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
}
.gp-export-btn:hover {
  border-color: var(--gold) !important;
  color: #111 !important;
}
body.dark .gp-export-btn {
  background: #1e1e1e !important;
  color: #ccc !important;
  border-color: #2a2a38 !important;
}

/* Bouton "Importer" : discret bleu clair */
.btn-import,
.top-actions .btn[onclick*="openImportModal"],
.page-hero-actions .btn[onclick*="openImportModal"],
.locataires-modern-actions .btn[onclick*="openImportModal"],
.biens-page-header .btn[onclick*="openImportModal"],
.proprietaires-page-header .btn[onclick*="openImportModal"],
.audit-actions .btn[onclick*="openImportModal"],
.rpt-actions .btn[onclick*="openImportModal"] {
  background: #eff6ff !important;
  color: #2563eb !important;
  border: 1px solid #bfdbfe !important;
  font-size: 12px !important;
  box-shadow: none !important;
}

/* Icônes dans les boutons d'action — taille unifiée */
.page-hero-actions .btn .material-symbols-rounded,
.page-header .btn .material-symbols-rounded,
.locataires-modern-actions .btn .material-symbols-rounded,
.proprietaires-page-header .btn .material-symbols-rounded,
.biens-page-header .btn .material-symbols-rounded,
.top-actions .btn .material-symbols-rounded,
.gp-export-btn .material-symbols-rounded {
  font-size: 14px !important;
}

/* ====================================================
   PATCH FINAL — boutons 20px + masquer seulement
   le grand titre h3 (garde le petit texte p intact)
==================================================== */

/* ---- BOUTONS 20px : corrigé définitivement ----
   Les règles intermédiaires (V19, V20…) imposent
   min-height:38px + height:auto + padding:8px 14px.
   On doit toutes les neutraliser ici.
*/
.page-header .btn,
.biens-page-header .btn,
.audit-actions .btn,
.rpt-actions .btn,
.page-hero-actions .btn,
.page-hero-actions button,
.top-actions .btn,
.locataires-modern-actions .btn,
.proprietaires-page-header .btn,
.proprietaires-page-header button,
.biens-page-header button,
.gp-export-btn,
#page-biens .biens-page-header button,
#page-biens .biens-page-header .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  width: auto !important;
  padding: 0 8px !important;
  line-height: 1 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  border-radius: 5px !important;
  gap: 3px !important;
  box-sizing: border-box !important;
}

/* ---- Masquer UNIQUEMENT le grand titre h3 ----
   On cible le h3 dans .page-hero-text sur toutes les pages
   sauf le dashboard. Le petit texte p reste visible.
   Les boutons (.page-hero-actions) ne sont pas touchés.
*/
.page:not(#page-dashboard) .page-hero-text h3,
.page:not(#page-dashboard) .page-header > div > h2:not([id]),
.page:not(#page-dashboard) .locataires-modern-title h2,
.page:not(#page-dashboard) .proprietaires-page-header > div > h2,
.page:not(#page-dashboard) .biens-page-header > div > h2 {
  display: none !important;
}

/* Réduire le .page-hero quand le h3 est masqué
   pour éviter un grand espace vide */
.page:not(#page-dashboard) .page-hero {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  min-height: 0 !important;
}

/* ── style-24.css ── */
/* Bureau — version compacte demandée */
.sidebar .logo{margin-bottom:0!important;padding-bottom:6px!important}.sidebar .menu{margin-top:0!important;gap:0!important}
#page-dashboard .compact-dashboard.gp-bureau-v3{background:#f7f8fa!important;padding:0 0 16px!important;gap:12px!important;min-height:auto!important}.gp-bureau-v3 .dash-hero{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0 0 10px!important;margin:0!important}.gp-bureau-v3 .dash-hero-title-wrap{display:block!important}.gp-bureau-v3 .dash-hello{font-size:40px!important;line-height:0.9!important;font-weight:900!important;color:#050505!important;letter-spacing:-1px!important;margin:0!important;display:flex!important;align-items:flex-end!important;gap:12px!important}.gp-bureau-v3 .dash-hello em{font-family:'Segoe Script','Brush Script MT',cursive!important;font-size:62px!important;line-height:.75!important;font-weight:400!important;color:#d4af37!important;font-style:normal!important;position:relative!important}.gp-bureau-v3 .dash-hello em:after{content:'';position:absolute;left:38px;right:-26px;bottom:-10px;height:16px;border-bottom:3px solid #d4af37;border-radius:50%;transform:rotate(-3deg)}.gp-bureau-v3 .dash-hello em:before{content:'✦';position:absolute;right:-35px;bottom:-18px;font-size:15px;color:#d4af37}.gp-bureau-v3 .dash-hello span{font-size:40px!important;font-weight:900!important;color:#050505!important;-webkit-text-fill-color:#050505!important}.gp-bureau-v3 .dash-hero-sub{display:none!important}.gp-date-pill{height:48px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ece7dc;border-radius:15px;padding:0 18px;box-shadow:0 8px 24px rgba(15,23,42,.06);font-size:14px;font-weight:900;color:#0f172a}.gp-date-pill .material-symbols-rounded{font-size:18px;color:#d4a017}.gp-date-pill input{position:absolute;opacity:0;pointer-events:none}
.gp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gp-stat-card{background:#fff;border:1px solid #eceff3;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:18px 16px;display:flex;align-items:center;gap:14px;min-height:100px}.gp-stat-ico{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gp-stat-ico .material-symbols-rounded{font-size:32px}.gp-blue{background:#eef4ff;color:#2563eb}.gp-green{background:#eafaf0;color:#16a34a}.gp-gold{background:#fff6de;color:#d9a000}.gp-purple{background:#f1ecff;color:#6d4ce8}.gp-stat-label{font-size:14px;color:#344054;font-weight:500}.gp-stat-val{font-size:28px;font-weight:900;color:#050505;line-height:1;margin-top:5px}.gp-stat-sub{font-size:12px;font-weight:900;margin-top:8px}.gp-sub-blue{color:#2563eb}.gp-sub-green{color:#16a34a}.gp-sub-gold{color:#d49a00}.gp-sub-purple{color:#7c3aed}
.gp-main-row{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(480px,1.25fr);gap:12px}.gp-panel{background:#fff;border:1px solid #eceff3;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:16px;min-width:0}.gp-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.gp-panel-title{font-size:15px;font-weight:900;color:#050505}.gp-chart-select{border:1px solid #e4e7ec;border-radius:10px;background:#fff;color:#667085;font-size:12px;font-weight:700;padding:8px 12px;outline:none}.gp-tabs{display:flex;gap:18px;border-bottom:1px solid #e8e2d6;margin-bottom:14px}.gp-tab{border:0;background:transparent;padding:8px 0 11px;border-bottom:2px solid transparent;color:#344054;text-transform:uppercase;font-size:11px;font-weight:900;cursor:pointer}.gp-tab.active{color:#d49a00;border-bottom-color:#d4af37}.gp-money-top{display:grid;grid-template-columns:48px 1fr 1fr;align-items:center;border:1px solid #eadfca;border-radius:12px;background:#fff;padding:13px;margin-bottom:10px}.gp-wallet{width:38px;height:38px;border-radius:50%;background:#fff8e3;color:#d4a017;display:flex;align-items:center;justify-content:center}.gp-pay{border-left:1px solid #eadfca;padding-left:14px}.gp-pay label,.gp-money label{display:block;font-size:10px;font-weight:900;color:#344054;text-transform:uppercase;margin-bottom:5px}.gp-pay strong{font-size:25px;line-height:1;font-weight:900}.gp-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gp-money{border:1px solid #eadfca;border-left:3px solid #10a957;border-radius:12px;min-height:62px;padding:10px;display:flex;align-items:center;gap:10px}.gp-money.danger{border-left-color:#ef2323}.gp-money.gold{border-left-color:#d4af37}.gp-mini{width:33px;height:33px;border-radius:50%;background:#edfdf3;color:#10a957;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gp-mini .material-symbols-rounded{font-size:18px}.gp-money.danger .gp-mini{background:#fff1f1;color:#ef2323}.gp-money.gold .gp-mini{background:#fff8e3;color:#d4a017}.gp-money strong{font-size:17px;font-weight:900;line-height:1}.gp-rev{color:#00a84f!important}.gp-dep{color:#ef1f1f!important}.gp-net{color:#c98b00!important}.gp-chart-box{height:310px}.gp-chart-box canvas{max-height:300px!important}
.gp-agenda{background:#fff;border:1px solid #eceff3;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:16px}.gp-agenda-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:14px}.gp-ag-title{font-size:15px;font-weight:900;color:#050505}.gp-ag-month{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:900;color:#050505}.gp-ag-nav{border:0;background:transparent;color:#667085;cursor:pointer;width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center}.gp-ag-all{justify-self:end;border:0;background:transparent;color:#667085;font-size:12px;font-weight:700;cursor:pointer}.gp-ag-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px}.gp-events,.gp-calendar{border:1px solid #eef2f7;border-radius:12px;background:#fff;overflow:hidden}.gp-event{display:grid;grid-template-columns:18px 50px 1fr 52px;align-items:center;gap:9px;min-height:74px;padding:12px;border-bottom:1px solid #eef2f7}.gp-event:last-child{border-bottom:0}.gp-dot{width:8px;height:8px;border-radius:50%}.gp-day{font-size:21px;font-weight:900;color:#101828;line-height:1;text-align:center}.gp-day span{display:block;font-size:10px;color:#667085;font-weight:700;text-transform:uppercase;margin-top:4px}.gp-event-name{font-size:12px;font-weight:800;color:#344054}.gp-event-time{font-size:12px;color:#667085;text-align:right}.gp-calendar{padding:13px}.gp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.gp-dow{font-size:11px;font-weight:900;color:#344054}.gp-cal-day{height:35px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#344054}.gp-muted{color:#98a2b3!important}.gp-mark{color:#fff!important}.gp-m-blue{background:#2563eb}.gp-m-green{background:#16a34a}.gp-m-gold{background:#e0a400}
body.dark #page-dashboard .compact-dashboard.gp-bureau-v3{background:#121212!important}body.dark .gp-stat-card,body.dark .gp-panel,body.dark .gp-agenda,body.dark .gp-events,body.dark .gp-calendar,body.dark .gp-money,body.dark .gp-money-top{background:#1e1e1e!important;border-color:#2a2a38!important}body.dark .gp-stat-val,body.dark .gp-stat-label,body.dark .gp-panel-title,body.dark .gp-ag-title,body.dark .gp-ag-month,body.dark .gp-day,body.dark .gp-event-name,body.dark .gp-dow,body.dark .gp-cal-day{color:#eee!important}body.dark .gp-date-pill,body.dark .gp-chart-select{background:#1e1e1e!important;border-color:#2a2a38!important;color:#eee!important}
@media(max-width:1180px){.gp-stat-grid{grid-template-columns:repeat(2,1fr)}.gp-main-row,.gp-ag-body{grid-template-columns:1fr}.gp-chart-box{height:260px}}@media(max-width:720px){.gp-stat-grid,.gp-money-grid{grid-template-columns:1fr}.gp-bureau-v3 .dash-hero{flex-direction:column}.gp-bureau-v3 .dash-hello{font-size:30px!important}.gp-bureau-v3 .dash-hello em{font-size:46px!important}.gp-bureau-v3 .dash-hello span{font-size:30px!important}.gp-money-top{grid-template-columns:1fr 1fr}.gp-wallet{display:none}.gp-pay:first-of-type{border-left:0;padding-left:0}}

/* ── style-25.css ── */
/* Base compact */
#page-employes .table-controls,
#page-locataires .locataires-toolbar,
#page-biens [style*="FILTERS BAR"] + div,
#page-biens div:has(> #biensFilterType),
#page-depenses .depenses-table-actions,
#page-depenses .depenses-table-actions > div,
#page-journal .journal-tools,
#page-journal .emp-agenda-side-head{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
}

/* Employés : recherche + affichage sur une seule ligne */
#page-employes .table-controls{
  justify-content:space-between!important;
  padding:8px 10px!important;
  margin-bottom:10px!important;
  border:1px solid #eef0f4!important;
  border-radius:10px!important;
  background:#fff!important;
}
#page-employes .table-controls > div:first-child{
  display:flex!important;align-items:center!important;gap:6px!important;
  white-space:nowrap!important;font-size:11px!important;color:#6b7280!important;
}
#page-employes .table-controls input[type="search"]{
  width:240px!important;max-width:28vw!important;height:32px!important;
  padding:6px 10px!important;border-radius:9px!important;font-size:11.5px!important;
}
#page-employes .table-controls select{height:30px!important;padding:4px 8px!important;font-size:11.5px!important;border-radius:8px!important;}
#page-employes table th,#page-employes table td{font-size:11.5px!important;padding:7px 8px!important;white-space:nowrap!important;vertical-align:middle!important;}
#page-employes table th:nth-child(4),#page-employes table td:nth-child(4),
#page-employes table th:nth-child(7),#page-employes table td:nth-child(7){text-align:center!important;min-width:96px!important;}
#page-employes .badge,#page-employes .status{font-size:10.5px!important;padding:2px 7px!important;line-height:1.15!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
#page-employes .actions{flex-wrap:nowrap!important;justify-content:center!important;}
#page-employes .icon-btn{width:27px!important;height:27px!important;min-width:27px!important;}
#page-employes .icon-btn .material-symbols-rounded{font-size:18px!important;}

/* Locataires : recherche + type + statut + compteur sur une ligne */
#page-locataires .locataires-toolbar{
  padding:8px 10px!important;margin-bottom:10px!important;border-radius:11px!important;
  overflow-x:auto!important;scrollbar-width:thin!important;
}
#page-locataires .loc-search{width:230px!important;min-width:230px!important;height:32px!important;padding:5px 9px!important;border-radius:9px!important;}
#page-locataires .loc-search input{font-size:11.5px!important;height:24px!important;}
#page-locataires .loc-filter{height:32px!important;min-width:128px!important;padding:5px 9px!important;border-radius:9px!important;font-size:11.5px!important;}
#page-locataires .loc-count{font-size:10.5px!important;white-space:nowrap!important;margin-left:auto!important;}
#page-locataires .locataires-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important;}
#page-locataires .loc-kpi{padding:9px 11px!important;border-radius:11px!important;min-height:58px!important;}
#page-locataires .loc-kpi-icon{width:31px!important;height:31px!important;border-radius:9px!important;}
#page-locataires .loc-kpi-icon .material-symbols-rounded{font-size:17px!important;}
#page-locataires .loc-kpi-label{font-size:9px!important;white-space:nowrap!important;}
#page-locataires .loc-kpi-val{font-size:18px!important;line-height:0.9!important;}
#page-locataires .badge,#page-locataires .status{font-size:10px!important;padding:2px 7px!important;white-space:nowrap!important;}

/* Biens : statuts + recherche + filtres sur une ligne */
#page-biens #biensStatCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important;}
#page-biens #biensStatCards > div{padding:9px 11px!important;border-radius:10px!important;gap:9px!important;min-height:56px!important;}
#page-biens #biensStatCards > div > div:first-child{width:30px!important;height:30px!important;min-width:30px!important;}
#page-biens #biensStatCards .material-symbols-rounded{font-size:17px!important;}
#page-biens #biensStatCards [id^="biensStat"]{font-size:18px!important;}
#page-biens div:has(> #biensSearch){width:225px!important;min-width:225px!important;height:32px!important;padding:5px 9px!important;border-radius:9px!important;}
#page-biens #biensSearch{font-size:11.5px!important;height:23px!important;}
#page-biens div:has(> #biensFilterType){
  padding:8px 10px!important;margin-bottom:10px!important;border-radius:11px!important;
  overflow-x:auto!important;scrollbar-width:thin!important;
}
#page-biens #biensFilterType,#page-biens #biensFilterStatut{height:32px!important;min-width:126px!important;padding:5px 9px!important;border-radius:9px!important;font-size:11.5px!important;}
#page-biens #biensCount{font-size:10.5px!important;margin-left:auto!important;}
#page-biens .badge,#page-biens .status{font-size:10px!important;padding:2px 7px!important;white-space:nowrap!important;}

/* Dépenses : les 4 contrôles exactement sur une ligne */
#page-depenses > div[style*="grid-template-columns:1fr 220px"]{grid-template-columns:minmax(0,1fr) 200px!important;gap:10px!important;}
#page-depenses .depenses-table-actions{margin-bottom:9px!important;overflow-x:auto!important;scrollbar-width:thin!important;}
#page-depenses .depenses-table-actions > div{width:100%!important;}
#page-depenses #dep-filter-type,
#page-depenses #dep-filter-cat,
#page-depenses #dep-filter-mois,
#page-depenses #dep-search{
  height:32px!important;border-radius:9px!important;padding:5px 9px!important;font-size:11.5px!important;min-width:0!important;flex:1 1 0!important;
}
#page-depenses #dep-filter-type{flex-basis:30%!important;}
#page-depenses #dep-filter-cat{flex-basis:24%!important;}
#page-depenses #dep-filter-mois{flex-basis:20%!important;}
#page-depenses #dep-search{flex-basis:26%!important;}
#page-depenses table th,#page-depenses table td{font-size:11.2px!important;padding:7px 7px!important;white-space:nowrap!important;}
#page-depenses .badge,#page-depenses .status{font-size:10px!important;padding:2px 7px!important;white-space:nowrap!important;}
#page-depenses .actions{flex-wrap:nowrap!important;}

/* Journal + agenda missions : recherches et actions alignées */
#page-journal .journal-modern-head{align-items:center!important;gap:10px!important;margin-bottom:9px!important;}
#page-journal .journal-tools{margin-left:auto!important;}
#page-journal .journal-search{height:32px!important;min-width:220px!important;border-radius:10px!important;padding:5px 9px!important;}
#page-journal .journal-search input{height:23px!important;font-size:11.5px!important;}
#page-journal .journal-tools .btn{height:32px!important;padding:6px 10px!important;border-radius:10px!important;font-size:11px!important;white-space:nowrap!important;}
#page-journal .mission-done-inbox{margin-top:10px!important;padding:10px!important;border-radius:14px!important;}
#page-journal .mission-done-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;}
#page-journal .journal-agenda-integrated{padding:10px!important;margin-top:10px!important;}
#page-journal .emp-agenda-side-head{padding:9px!important;}
#page-journal .emp-agenda-title{white-space:nowrap!important;margin-bottom:0!important;font-size:12px!important;}
#page-journal .emp-agenda-side .journal-search{min-width:0!important;flex:1!important;height:30px!important;}
#page-journal .emp-agenda-top{min-height:48px!important;padding:8px 12px!important;gap:8px!important;}
#page-journal .emp-agenda-who{min-width:0!important;}
#page-journal .emp-agenda-name{font-size:12.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:260px!important;}
#page-journal .emp-agenda-role{font-size:9.5px!important;white-space:nowrap!important;}
#page-journal .emp-agenda-top .btn{height:31px!important;padding:6px 10px!important;font-size:10.5px!important;border-radius:10px!important;white-space:nowrap!important;}
#page-journal .emp-list-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;}
#page-journal .emp-list-head h3{white-space:nowrap!important;}
#page-journal .emp-list-head p{white-space:nowrap!important;margin:0!important;}
#page-journal .emp-mission-card{padding:8px!important;}
#page-journal .emp-mission-title{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#page-journal .emp-mission-meta{font-size:9.5px!important;white-space:nowrap!important;}

/* Dark mode */
body.dark #page-employes .table-controls,
body.dark #page-locataires .locataires-toolbar,
body.dark #page-biens div:has(> #biensFilterType){background:#1e1e1e!important;border-color:#2a2a38!important;}
body.dark #page-employes .table-controls input,
body.dark #page-employes .table-controls select{background:#2a2a38!important;border-color:#3a3a48!important;color:#e5e5e5!important;}

/* Responsive: garder une seule ligne avec défilement horizontal plutôt que casser */
@media(max-width:900px){
  #page-employes .table-controls,
  #page-locataires .locataires-toolbar,
  #page-biens div:has(> #biensFilterType),
  #page-depenses .depenses-table-actions,
  #page-journal .journal-tools,
  #page-journal .emp-agenda-side-head{overflow-x:auto!important;}
  #page-employes .table-controls input[type="search"]{min-width:210px!important;max-width:none!important;}
}

/* ── style-26.css ── */
/* ============================================================
   CORRECTION FINALE — PAGE EMPLOYÉS
   Alignement compact comme Propriétaires / Locataires / Biens
============================================================ */
#page-employes{
  --emp-h:30px;
}

/* En-tête plus discret et bien aligné */
#page-employes .page-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:11px 14px!important;
  margin-bottom:10px!important;
  border-radius:14px!important;
  min-height:64px!important;
}

#page-employes .page-hero-icon{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:11px!important;
}

#page-employes .page-hero-icon .material-symbols-rounded{
  font-size:20px!important;
}

#page-employes .page-hero-text{
  min-width:0!important;
  flex:1 1 auto!important;
}

#page-employes .page-hero-text h3{
  font-size:14px!important;
  line-height:1.1!important;
  margin:0!important;
  white-space:nowrap!important;
}

#page-employes .page-hero-text p{
  font-size:10.5px!important;
  margin-top:2px!important;
  line-height:0.9!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Boutons en une seule ligne, petits et propres */
#page-employes .page-hero-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
  margin-left:auto!important;
}

#page-employes .page-hero-actions .btn,
#page-employes .page-hero-actions .gp-export-btn{
  height:var(--emp-h)!important;
  min-height:var(--emp-h)!important;
  padding:0 9px!important;
  border-radius:9px!important;
  font-size:10.5px!important;
  font-weight:700!important;
  line-height:0.9!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  box-shadow:none!important;
}

#page-employes .page-hero-actions .material-symbols-rounded{
  font-size:14px!important;
}

/* Conteneur plus compact */
#page-employes .container{
  padding:10px!important;
  border-radius:14px!important;
}

/* Barre employés : une seule ligne, comme les autres pages */
#page-employes .table-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  margin-bottom:9px!important;
  padding:7px!important;
  border:1px solid #edf0f4!important;
  border-radius:12px!important;
  background:#f9fafb!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  scrollbar-width:thin!important;
}

/* Bloc "Afficher 10 lignes" compact */
#page-employes .table-controls > div:first-child{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
  font-size:10.5px!important;
  font-weight:600!important;
  color:#6b7280!important;
  white-space:nowrap!important;
}

#page-employes #sel-employes{
  width:54px!important;
  min-width:54px!important;
  height:28px!important;
  padding:3px 6px!important;
  border-radius:8px!important;
  font-size:10.5px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
}

/* Recherche propre, réduite et alignée */
#page-employes .table-controls > div:last-child{
  position:relative!important;
  flex:0 0 245px!important;
  width:245px!important;
  max-width:245px!important;
  height:28px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
}

#page-employes .table-controls > div:last-child::before{
  content:'search'!important;
  font-family:'Material Symbols Rounded'!important;
  position:absolute!important;
  left:9px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:15px!important;
  color:#9ca3af!important;
  pointer-events:none!important;
  z-index:2!important;
}

#page-employes .table-controls input[type="search"]{
  width:100%!important;
  height:28px!important;
  min-height:28px!important;
  padding:0 10px 0 30px!important;
  border-radius:9px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  font-size:10.8px!important;
  line-height:28px!important;
  box-shadow:none!important;
}

#page-employes .table-controls input[type="search"]::placeholder{
  font-size:10.5px!important;
  color:#9ca3af!important;
}

#page-employes .table-controls input[type="search"]:focus{
  border-color:var(--gold)!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.10)!important;
  outline:none!important;
}

/* Tableau employés plus léger */
#page-employes table{
  table-layout:auto!important;
  min-width:900px!important;
}

#page-employes thead th{
  font-size:9.8px!important;
  padding:7px 7px!important;
  letter-spacing:.25px!important;
  white-space:nowrap!important;
}

#page-employes tbody td{
  font-size:10.8px!important;
  padding:7px 7px!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}

#page-employes .name-cell{
  gap:6px!important;
}

#page-employes .avatar-sm{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  border-radius:8px!important;
  font-size:10px!important;
}

#page-employes .badge,
#page-employes .status{
  font-size:9.5px!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  line-height:0.9!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  min-height:18px!important;
}

/* Actions discrètes */
#page-employes .actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  flex-wrap:nowrap!important;
}

#page-employes .icon-btn{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border-radius:8px!important;
}

#page-employes .icon-btn .material-symbols-rounded,
#page-employes .icon-btn span{
  font-size:15px!important;
}

/* Pied de tableau compact */
#page-employes .table-footer{
  margin-top:8px!important;
  font-size:10.5px!important;
}

#page-employes .pagination button{
  padding:3px 7px!important;
  font-size:10.5px!important;
  border-radius:6px!important;
}

/* Mode sombre */
body.dark #page-employes .table-controls{
  background:#181824!important;
  border-color:#2a2a38!important;
}

body.dark #page-employes #sel-employes,
body.dark #page-employes .table-controls input[type="search"]{
  background:#1e1e1e!important;
  border-color:#3a3a48!important;
  color:#e5e5e5!important;
}

/* Responsive : rester sur une ligne avec défilement horizontal */
@media(max-width:900px){
  #page-employes .page-hero{
    align-items:flex-start!important;
  }
  #page-employes .page-hero-actions{
    overflow-x:auto!important;
    max-width:100%!important;
  }
  #page-employes .table-controls > div:last-child{
    flex-basis:220px!important;
    width:220px!important;
    max-width:220px!important;
  }
}

/* ── style-27.css ── */
/* ===== CORRECTION BUREAU — demande utilisateur ===== */
#page-dashboard .compact-dashboard.gp-final-dashboard{background:#f8fafc!important;padding:0 2px 22px!important;gap:18px!important;min-height:auto!important;overflow:visible!important}
.gp-final-hero{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 0 12px!important;margin:0!important}
.gp-final-hello{margin:0!important;line-height:0.9!important;letter-spacing:-.8px!important;display:flex!important;align-items:flex-end!important;gap:12px!important;white-space:nowrap!important;color:#0b1220!important;font-weight:900!important;font-size:40px!important;background:transparent!important}
.gp-final-hello em{font-family:'Segoe Script','Brush Script MT',cursive!important;font-size:64px!important;font-weight:400!important;font-style:normal!important;color:#d4af37!important;line-height:.78!important;position:relative!important;text-shadow:0 1px 0 rgba(0,0,0,.04)!important}
.gp-final-hello em:after{content:'';position:absolute;left:32px;right:-20px;bottom:-9px;height:16px;border-bottom:3px solid #d4af37;border-radius:50%;transform:rotate(-3deg)}
.gp-final-hello em:before{content:'✦';position:absolute;right:-30px;bottom:-17px;font-size:13px;color:#d4af37}
.gp-final-date{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ece7dc;border-radius:16px;padding:14px 18px;box-shadow:0 8px 24px rgba(15,23,42,.06);font-size:14px;font-weight:900;color:#0f172a;white-space:nowrap}.gp-final-date .material-symbols-rounded{font-size:19px;color:#d99a00}
.gp-final-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gp-final-stat{background:#fff;border:1px solid #eef2f7;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:24px 20px;display:flex;align-items:center;gap:18px;min-height:120px}.gp-final-stat-icon{width:70px;height:70px;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gp-final-stat-icon .material-symbols-rounded{font-size:38px}.gp-final-blue{background:#eef4ff;color:#2563ff}.gp-final-green{background:#eafaf0;color:#16a34a}.gp-final-gold{background:#fff6dc;color:#d99a00}.gp-final-purple{background:#f1ebff;color:#7c3aed}.gp-final-label{font-size:15px;color:#334155;font-weight:500;margin-bottom:8px}.gp-final-value{font-size:30px;font-weight:900;color:#030712;line-height:1}.gp-final-sub{font-size:13px;font-weight:800;margin-top:10px}.gp-final-sub.blue{color:#2563ff}.gp-final-sub.green{color:#16a34a}.gp-final-sub.gold{color:#d99a00}.gp-final-sub.purple{color:#7c3aed}
.gp-final-middle{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.gp-final-panel{background:#fff;border:1px solid #eef2f7;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:24px;min-width:0}.gp-final-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.gp-final-title{font-size:18px;font-weight:900;color:#111827}.gp-final-chart-tabs{display:flex;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}.gp-final-chart-tab{border:0;border-right:1px solid #e5e7eb;background:#fff;padding:10px 12px;font-size:12px;color:#64748b;cursor:pointer;font-weight:700}.gp-final-chart-tab:last-child{border-right:0}.gp-final-chart-tab.active{background:#fff8e7;color:#b77900}.gp-final-chart-box{height:390px}.gp-final-chart-box canvas{max-height:370px!important}
.gp-final-money-tabs{display:flex;gap:28px;border-bottom:1px solid #e5e7eb;margin-bottom:26px}.gp-final-money-tab{border:0;background:transparent;padding:0 0 14px;font-size:14px;font-weight:700;color:#475569;text-transform:uppercase;cursor:pointer}.gp-final-money-tab.active{color:#d99a00;border-bottom:3px solid #d99a00}.gp-final-paytop{display:grid;grid-template-columns:82px 1fr 1fr;align-items:center;background:#fbfbfb;border:1px solid #e5e7eb;border-radius:13px;padding:22px;margin-bottom:18px}.gp-final-payicon{width:58px;height:58px;border-radius:50%;background:#fff8e7;color:#d99a00;display:flex;align-items:center;justify-content:center}.gp-final-payicon .material-symbols-rounded{font-size:30px}.gp-final-paystat{border-left:1px solid #e5e7eb;padding-left:22px}.gp-final-paystat label{display:block;font-size:12px;font-weight:900;color:#1f2937;text-transform:uppercase;margin-bottom:7px}.gp-final-paystat strong{font-size:30px;font-weight:900;color:#16a34a;line-height:1}.gp-final-paystat.red strong{color:#ef1111}.gp-final-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gp-final-money-card{border:1px solid #e5e7eb;border-left:3px solid #16a34a;border-radius:12px;padding:17px 16px;min-height:100px;display:flex;align-items:center;gap:14px;background:#fff}.gp-final-money-card.red{border-left-color:#ef1111}.gp-final-money-card.gold{border-left-color:#d99a00}.gp-final-miniicon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eafaf0;color:#16a34a;flex-shrink:0}.gp-final-money-card.red .gp-final-miniicon{background:#fff1f1;color:#ef1111}.gp-final-money-card.gold .gp-final-miniicon{background:#fff8e7;color:#d99a00}.gp-final-miniicon .material-symbols-rounded{font-size:24px}.gp-final-money-card label{display:block;font-size:12px;font-weight:900;color:#1f2937;text-transform:uppercase;margin-bottom:6px}.gp-final-money-card strong{font-size:22px;font-weight:900;color:#16a34a;white-space:nowrap}.gp-final-money-card.red strong{color:#ef1111}.gp-final-money-card.gold strong{color:#d99a00}
.gp-final-agenda{background:#fff;border:1px solid #eef2f7;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);padding:24px}.gp-final-agenda-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:22px}.gp-final-agenda-title{font-size:18px;font-weight:900;color:#111827}.gp-final-month{display:flex;align-items:center;gap:60px;font-size:16px;font-weight:900;color:#111827}.gp-final-nav{border:0;background:transparent;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer}.gp-final-all{border:0;background:transparent;color:#64748b;font-size:14px;font-weight:700;justify-self:end;cursor:pointer}.gp-final-agenda-body{display:grid;grid-template-columns:.84fr 1.16fr;gap:18px}.gp-final-events{border:1px solid #eef2f7;border-radius:14px;overflow:hidden;min-height:320px;display:flex;align-items:center;justify-content:center}.gp-final-empty{text-align:center;color:#64748b;padding:28px}.gp-final-empty-icon{width:86px;height:86px;border-radius:50%;background:#fff6dc;color:#d99a00;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.gp-final-empty-icon .material-symbols-rounded{font-size:44px}.gp-final-empty strong{display:block;color:#111827;font-size:17px;margin-bottom:10px}.gp-final-calendar{border:1px solid #eef2f7;border-radius:14px;padding:18px;min-height:320px}.gp-final-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:20px;text-align:center}.gp-final-dow{font-size:13px;font-weight:900;color:#111827}.gp-final-day{height:40px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;color:#111827;border-radius:50%;cursor:pointer;margin:auto;width:40px}.gp-final-muted{color:#64748b}.gp-final-mark{color:#fff!important;font-weight:900}.gp-final-mark.blue{background:#2563ff}.gp-final-mark.gold{background:#d99a00}.gp-final-mark.green{background:#16a34a}
body.dark .gp-final-card,body.dark .gp-final-stat,body.dark .gp-final-panel,body.dark .gp-final-agenda,body.dark .gp-final-events,body.dark .gp-final-calendar,body.dark .gp-final-date,body.dark .gp-final-money-card,body.dark .gp-final-paytop{background:#1e1e1e!important;border-color:#2a2a38!important}body.dark .gp-final-hello,body.dark .gp-final-value,body.dark .gp-final-title,body.dark .gp-final-agenda-title,body.dark .gp-final-month,body.dark .gp-final-dow,body.dark .gp-final-day,body.dark .gp-final-empty strong,body.dark .gp-final-paystat label,body.dark .gp-final-money-card label{color:#f8fafc!important}
@media(max-width:1200px){.gp-final-middle,.gp-final-agenda-body{grid-template-columns:1fr}.gp-final-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.gp-final-stats,.gp-final-money-grid{grid-template-columns:1fr}.gp-final-hello{font-size:26px!important}.gp-final-hello em{font-size:44px!important}.gp-final-hero{flex-direction:column}.gp-final-chart-box{height:260px}.gp-final-agenda-head{grid-template-columns:1fr}.gp-final-month{gap:20px;margin-top:12px}.gp-final-all{justify-self:start;margin-top:10px}}

/* ── style-28.css ── */
#page-dashboard .compact-dashboard.gp-user-final{background:var(--soft-bg,#f7f8fb)!important;padding:0 0 18px!important;gap:14px!important;min-height:auto!important;overflow:visible!important}
.gp-user-final .gp-top-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;background:transparent!important;border:none!important;box-shadow:none!important;margin:0 0 14px!important;padding:0!important;position:relative!important;z-index:1!important}
.gp-user-final .gp-hello-title{margin:0!important;display:flex!important;align-items:center!important;gap:10px!important;line-height:0.9!important;white-space:nowrap!important;font-size:22px!important;font-weight:700!important;color:#050505!important;letter-spacing:-.3px!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}
.gp-user-final .gp-hello-title em{font-family:'Segoe Script','Brush Script MT',cursive!important;font-size:30px!important;line-height:0.9!important;font-style:normal!important;font-weight:400!important;color:#d4af37!important;position:relative!important}
.gp-user-final .gp-hello-title em:first-child:after{content:'';position:absolute;left:20px;right:-12px;bottom:-5px;height:10px;border-bottom:2px solid #d4af37;border-radius:50%;transform:rotate(-3deg)}
.gp-user-final .gp-hello-title em:first-child:before{content:'✦';position:absolute;right:-18px;bottom:-10px;font-size:9px;color:#d4af37}
.gp-user-final .gp-date-badge2{height:46px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ece7dc;border-radius:16px;padding:0 18px;box-shadow:0 8px 24px rgba(15,23,42,.06);font-size:14px;font-weight:900;color:#0f172a;white-space:nowrap}.gp-user-final .gp-date-badge2 .material-symbols-rounded{font-size:18px;color:#d99a00}
.gp-user-final .gp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;margin-bottom:0!important}.gp-user-final .gp-stat{background:#fff;border:1px solid #eef2f7;border-radius:15px;box-shadow:0 6px 18px rgba(15,23,42,.055);padding:15px 16px;display:flex;align-items:center;gap:13px;min-height:92px}.gp-user-final .gp-stat-ico{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gp-user-final .gp-stat-ico .material-symbols-rounded{font-size:30px}.gp-user-final .blue{background:#eef4ff;color:#2563ff}.gp-user-final .green{background:#eafaf0;color:#16a34a}.gp-user-final .gold{background:#fff6dc;color:#d99a00}.gp-user-final .purple{background:#f1ebff;color:#7c3aed}.gp-user-final .gp-stat-label{font-size:14px;color:#334155;font-weight:500}.gp-user-final .gp-stat-value{font-size:26px;font-weight:900;color:#050505;line-height:1;margin-top:5px}.gp-user-final .gp-stat-sub{font-size:12px;font-weight:800;margin-top:7px}.gp-user-final .sub-blue{color:#2563ff}.gp-user-final .sub-green{color:#16a34a}.gp-user-final .sub-gold{color:#d99a00}.gp-user-final .sub-purple{color:#7c3aed}
.gp-user-final .gp-main{display:grid!important;grid-template-columns:.9fr 1.1fr!important;gap:12px!important;align-items:stretch!important}.gp-user-final .gp-panel{background:#fff;border:1px solid #eef2f7;border-radius:15px;box-shadow:0 6px 18px rgba(15,23,42,.055);padding:16px!important;min-width:0}.gp-user-final .gp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.gp-user-final .gp-title{font-size:16px;font-weight:900;color:#111827}.gp-user-final .gp-chart-tabs{display:flex;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.gp-user-final .gp-chart-tabs button{border:0;border-right:1px solid #e5e7eb;background:#fff;padding:8px 10px;font-size:11px;color:#64748b;cursor:pointer;font-weight:700}.gp-user-final .gp-chart-tabs button:last-child{border-right:0}.gp-user-final .gp-chart-tabs button.active{background:#fff8e7;color:#b77900}.gp-user-final .gp-chart-box{height:285px!important}.gp-user-final .gp-chart-box canvas{max-height:275px!important}
.gp-user-final .gp-money-tabs{display:flex;gap:20px;border-bottom:1px solid #e5e7eb;margin-bottom:14px}.gp-user-final .gp-money-tabs button{border:0;background:transparent;padding:0 0 10px;font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;cursor:pointer}.gp-user-final .gp-money-tabs button.active{color:#d99a00;border-bottom:2px solid #d99a00}.gp-user-final .gp-paytop{display:grid;grid-template-columns:54px 1fr 1fr;align-items:center;background:#fbfbfb;border:1px solid #e5e7eb;border-radius:12px;padding:13px;margin-bottom:10px}.gp-user-final .gp-payicon{width:40px;height:40px;border-radius:50%;background:#fff8e7;color:#d99a00;display:flex;align-items:center;justify-content:center}.gp-user-final .gp-payicon .material-symbols-rounded{font-size:22px}.gp-user-final .gp-paystat{border-left:1px solid #e5e7eb;padding-left:14px}.gp-user-final .gp-paystat label,.gp-user-final .gp-money-card label{display:block;font-size:10px;font-weight:900;color:#1f2937;text-transform:uppercase;margin-bottom:5px}.gp-user-final .gp-paystat strong{font-size:24px;font-weight:900;line-height:1;color:#16a34a}.gp-user-final .gp-paystat.red strong{color:#ef1111}.gp-user-final .gp-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gp-user-final .gp-money-card{border:1px solid #e5e7eb;border-left:3px solid #16a34a;border-radius:11px;padding:11px;min-height:68px;display:flex;align-items:center;gap:9px;background:#fff}.gp-user-final .gp-money-card.red{border-left-color:#ef1111}.gp-user-final .gp-money-card.gold{border-left-color:#d99a00}.gp-user-final .gp-mini{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eafaf0;color:#16a34a;flex-shrink:0}.gp-user-final .gp-money-card.red .gp-mini{background:#fff1f1;color:#ef1111}.gp-user-final .gp-money-card.gold .gp-mini{background:#fff8e7;color:#d99a00}.gp-user-final .gp-mini .material-symbols-rounded{font-size:19px}.gp-user-final .gp-money-card strong{font-size:18px;font-weight:900;white-space:nowrap;color:#16a34a}.gp-user-final .gp-money-card.red strong{color:#ef1111}.gp-user-final .gp-money-card.gold strong{color:#d99a00}
.gp-user-final .gp-agenda{background:#fff;border:1px solid #eef2f7;border-radius:15px;box-shadow:0 6px 18px rgba(15,23,42,.055);padding:16px!important}.gp-user-final .gp-agenda-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:12px}.gp-user-final .gp-ag-title{font-size:16px;font-weight:900;color:#111827}.gp-user-final .gp-ag-month{display:flex;align-items:center;gap:42px;font-size:14px;font-weight:900;color:#111827}.gp-user-final .gp-ag-nav{border:0;background:transparent;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer}.gp-user-final .gp-ag-all{border:0;background:transparent;color:#64748b;font-size:12px;font-weight:700;justify-self:end;cursor:pointer}.gp-user-final .gp-ag-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:12px}.gp-user-final .gp-events,.gp-user-final .gp-calendar{border:1px solid #eef2f7;border-radius:12px;background:#fff;min-height:250px}.gp-user-final .gp-empty{height:100%;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#64748b;padding:18px}.gp-user-final .gp-empty-ico{width:68px;height:68px;border-radius:50%;background:#fff6dc;color:#d99a00;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.gp-user-final .gp-empty-ico .material-symbols-rounded{font-size:34px}.gp-user-final .gp-empty strong{display:block;color:#111827;font-size:15px;margin-bottom:8px}.gp-user-final .gp-empty p{font-size:12px;margin:0}.gp-user-final .gp-calendar{padding:13px}.gp-user-final .gp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:12px;text-align:center}.gp-user-final .gp-dow{font-size:12px;font-weight:900;color:#111827}.gp-user-final .gp-day{height:32px;width:32px;margin:auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#111827;cursor:pointer}.gp-user-final .gp-muted{color:#64748b}.gp-user-final .gp-mark{color:#fff!important;font-weight:900}.gp-user-final .gp-mark.blue{background:#2563ff}.gp-user-final .gp-mark.gold{background:#d99a00}.gp-user-final .gp-mark.green{background:#16a34a}
.gp-user-final .gp-ev-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:.15s;border:1px solid #eef2f7;margin-bottom:6px;background:#fff}.gp-user-final .gp-ev-item:hover{border-color:rgba(212,175,55,.4);box-shadow:0 4px 12px rgba(15,23,42,.05)}.gp-user-final .gp-ev-dot{width:9px;height:9px;border-radius:50%;background:#d99a00;flex-shrink:0;margin-top:4px}.gp-user-final .gp-ev-body{min-width:0;flex:1}.gp-user-final .gp-ev-title{font-size:12.5px;font-weight:700;color:#111;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gp-user-final .gp-ev-meta{display:flex;flex-wrap:wrap;gap:5px}.gp-user-final .gp-ev-meta span{font-size:10px;font-weight:700;color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 7px}
.gp-user-final .gp-today-dot{position:relative}.gp-user-final .gp-today-dot::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#d99a00}
body.dark .gp-user-final .gp-stat,body.dark .gp-user-final .gp-panel,body.dark .gp-user-final .gp-agenda,body.dark .gp-user-final .gp-events,body.dark .gp-user-final .gp-calendar,body.dark .gp-user-final .gp-date-badge2,body.dark .gp-user-final .gp-money-card,body.dark .gp-user-final .gp-paytop{background:#1e1e1e!important;border-color:#2a2a38!important}body.dark .gp-user-final .gp-hello-title,body.dark .gp-user-final .gp-stat-value,body.dark .gp-user-final .gp-title,body.dark .gp-user-final .gp-ag-title,body.dark .gp-user-final .gp-ag-month,body.dark .gp-user-final .gp-dow,body.dark .gp-user-final .gp-day,body.dark .gp-user-final .gp-empty strong,body.dark .gp-user-final .gp-paystat label,body.dark .gp-user-final .gp-money-card label{color:#f8fafc!important}
body.dark .gp-user-final .gp-ev-item{background:#181824!important;border-color:#2a2a38!important}.dark .gp-user-final .gp-ev-title{color:#eee!important}.dark .gp-user-final .gp-ev-meta span{background:#2a2a38!important;color:#aaa!important}
@media(max-width:1200px){.gp-user-final .gp-main,.gp-user-final .gp-ag-body{grid-template-columns:1fr!important}.gp-user-final .gp-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.gp-user-final .gp-stats,.gp-user-final .gp-money-grid{grid-template-columns:1fr}.gp-user-final .gp-top-title{flex-direction:column}.gp-user-final .gp-hello-title{font-size:28px!important}.gp-user-final .gp-hello-title em{font-size:44px!important}.gp-user-final .gp-agenda-head{grid-template-columns:1fr}.gp-user-final .gp-ag-month{gap:18px;margin-top:10px}.gp-user-final .gp-ag-all{justify-self:start;margin-top:8px}}

/* ── style-29.css ── */
/* === OVERLAY === */
#gpAgendaModal{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:900;
  display:none;align-items:flex-start;justify-content:center;
  padding:20px 16px;backdrop-filter:blur(4px);overflow-y:auto;
}
#gpAgendaModal.open{display:flex}

/* === MODAL BOX === */
.gp-agenda-modal-box{
  background:#fff;border-radius:20px;width:100%;max-width:960px;
  box-shadow:0 24px 80px rgba(0,0,0,.22);animation:fadeIn .18s ease;
  overflow:hidden;margin:auto;
}
body.dark .gp-agenda-modal-box{background:#1a1a2e;color:#e5e5e5}

/* === HEADER === */
.gp-am-header{
  background:linear-gradient(135deg,#0F0F0F 0%,#1a1a2e 100%);
  padding:20px 24px 16px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;
}
.gp-am-header-left{display:flex;align-items:center;gap:12px}
.gp-am-header-icon{width:40px;height:40px;border-radius:12px;background:rgba(212,175,55,.2);
  display:flex;align-items:center;justify-content:center}
.gp-am-header-icon .material-symbols-rounded{font-size:22px;color:var(--gold)}
.gp-am-title{font-size:17px;font-weight:800;color:#fff}
.gp-am-sub{font-size:12px;color:rgba(255,255,255,.55);margin-top:2px}
.gp-am-close{width:34px;height:34px;border-radius:10px;border:none;
  background:rgba(255,255,255,.1);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:.15s}
.gp-am-close:hover{background:rgba(255,255,255,.2)}

/* === TOOLBAR === */
.gp-am-toolbar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:12px 20px;border-bottom:1px solid #f0f0f0;background:#fafafa;
}
body.dark .gp-am-toolbar{background:#111827;border-color:#2a2a38}
.gp-am-search{
  flex:1;min-width:180px;display:flex;align-items:center;gap:8px;
  background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:6px 10px;
}
body.dark .gp-am-search{background:#1e1e1e;border-color:#2a2a38}
.gp-am-search .material-symbols-rounded{font-size:17px;color:#9ca3af}
.gp-am-search input{border:none;outline:none;background:transparent;font-size:13px;width:100%;color:inherit}
.gp-am-filter{
  border:1px solid #e5e7eb;border-radius:10px;padding:6px 10px;font-size:13px;
  background:#fff;color:#374151;outline:none;cursor:pointer;
}
body.dark .gp-am-filter{background:#1e1e1e;border-color:#2a2a38;color:#e5e5e5}
.gp-am-btn-add{
  display:inline-flex;align-items:center;gap:6px;border:none;
  background:var(--gold);color:#000;font-weight:700;font-size:13px;
  border-radius:10px;padding:7px 14px;cursor:pointer;transition:.15s;white-space:nowrap;
}
.gp-am-btn-add:hover{background:#c4a030}
.gp-am-btn-add .material-symbols-rounded{font-size:17px}

/* === BODY SPLIT === */
.gp-am-body{display:grid;grid-template-columns:1fr 340px;min-height:500px}
@media(max-width:760px){.gp-am-body{grid-template-columns:1fr}}

/* === EVENTS LIST === */
.gp-am-events{padding:16px 20px;overflow-y:auto;max-height:580px}
.gp-am-events-header{font-size:11px;font-weight:800;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.gp-am-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:48px 20px;text-align:center;color:#9ca3af;gap:10px}
.gp-am-empty .material-symbols-rounded{font-size:48px;color:#d1d5db}
.gp-am-empty strong{font-size:15px;color:#374151}
body.dark .gp-am-empty strong{color:#ccc}

/* === EVENT CARD === */
.gp-ev-card{
  background:#fff;border:1px solid #e9edf3;border-radius:12px;
  padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:.15s;
  display:grid;grid-template-columns:6px 1fr auto;gap:12px;align-items:start;
}
body.dark .gp-ev-card{background:#1e1e1e;border-color:#2a2a38}
.gp-ev-card:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(212,175,55,.12)}
.gp-ev-card.done-card{opacity:.55}
.gp-ev-stripe{width:6px;border-radius:3px;min-height:44px;align-self:stretch}
.gp-ev-content{}
.gp-ev-card-title{font-size:14px;font-weight:700;color:#111;line-height:1.3}
body.dark .gp-ev-card-title{color:#eee}
.gp-ev-card.done-card .gp-ev-card-title{text-decoration:line-through;color:#9ca3af}
.gp-ev-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.gp-ev-chip{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;
  padding:2px 7px;border-radius:20px;background:#f3f4f6;color:#4b5563}
body.dark .gp-ev-chip{background:#2a2a38;color:#9ca3af}
.gp-ev-chip.rdv{background:#eff6ff;color:#2563eb}
.gp-ev-chip.tache{background:#fef3c7;color:#92400e}
.gp-ev-chip.rappel{background:#f0fdf4;color:#166534}
.gp-ev-chip.haute{background:#fef2f2;color:#dc2626}
.gp-ev-chip.done{background:#f0fdf4;color:#166534}
.gp-ev-chip .material-symbols-rounded{font-size:12px}
.gp-ev-card-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.gp-ev-action-btn{border:none;background:transparent;cursor:pointer;
  width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:#9ca3af;transition:.12s}
.gp-ev-action-btn:hover{background:#f3f4f6;color:#374151}
.gp-ev-action-btn.delete:hover{background:#fef2f2;color:#dc2626}
.gp-ev-action-btn.check:hover{background:#f0fdf4;color:#166534}
.gp-ev-action-btn .material-symbols-rounded{font-size:16px}

/* === CALENDAR PANEL === */
.gp-am-cal-panel{
  border-left:1px solid #f0f0f0;background:#fafafa;padding:16px;
  display:flex;flex-direction:column;gap:12px;
}
body.dark .gp-am-cal-panel{background:#111827;border-color:#2a2a38}
.gp-am-cal-nav{display:flex;align-items:center;justify-content:space-between}
.gp-am-cal-label{font-size:14px;font-weight:800;color:#111}
body.dark .gp-am-cal-label{color:#eee}
.gp-am-cal-nav-btn{border:none;background:#fff;border-radius:8px;
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;border:1px solid #e5e7eb;color:#374151;transition:.12s}
body.dark .gp-am-cal-nav-btn{background:#1e1e1e;border-color:#2a2a38;color:#ccc}
.gp-am-cal-nav-btn:hover{border-color:var(--gold);color:var(--gold)}
.gp-am-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.gp-am-dow{font-size:10px;font-weight:800;color:#9ca3af;padding:2px 0}
.gp-am-day{
  height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;color:#374151;cursor:pointer;transition:.12s;position:relative;
}
body.dark .gp-am-day{color:#ccc}
.gp-am-day:hover{background:#f3f4f6}
body.dark .gp-am-day:hover{background:#2a2a38}
.gp-am-day.muted{color:#d1d5db}
.gp-am-day.today{background:var(--gold);color:#000;font-weight:800}
.gp-am-day.selected{background:#0F0F0F;color:#fff}
body.dark .gp-am-day.selected{background:#2563eb}
.gp-am-day.has-event:not(.today):not(.selected){background:#fef3c7}
.gp-am-day.has-high:not(.today):not(.selected){background:#fef2f2}
.gp-am-day-dot{
  position:absolute;bottom:3px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--gold);
}
.gp-am-day-sel-label{font-size:12px;font-weight:700;color:#374151;margin-top:4px}
body.dark .gp-am-day-sel-label{color:#ccc}
.gp-am-day-events{display:flex;flex-direction:column;gap:5px;max-height:180px;overflow-y:auto}
.gp-am-mini-ev{
  background:#fff;border:1px solid #e9edf3;border-radius:8px;padding:6px 9px;
  font-size:11.5px;font-weight:600;color:#374151;display:flex;align-items:center;gap:7px;cursor:pointer;
}
body.dark .gp-am-mini-ev{background:#1e1e1e;border-color:#2a2a38;color:#ccc}
.gp-am-mini-ev:hover{border-color:var(--gold)}
.gp-am-mini-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

/* === ADD/EDIT EVENT MODAL === */
#gpEventFormModal{
  position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;
  display:none;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(4px);
}
#gpEventFormModal.open{display:flex}
.gp-ef-box{
  background:#fff;border-radius:18px;width:100%;max-width:480px;
  box-shadow:0 24px 70px rgba(0,0,0,.25);animation:fadeIn .18s ease;overflow:hidden;
}
body.dark .gp-ef-box{background:#1a1a2e;color:#e5e5e5}
.gp-ef-header{
  background:linear-gradient(135deg,#0F0F0F,#1a1a2e);
  padding:16px 20px;display:flex;align-items:center;justify-content:space-between;
}
.gp-ef-title{font-size:15px;font-weight:800;color:#fff;display:flex;align-items:center;gap:8px}
.gp-ef-title .material-symbols-rounded{color:var(--gold);font-size:19px}
.gp-ef-body{padding:20px;display:flex;flex-direction:column;gap:13px}
.gp-ef-field{display:flex;flex-direction:column;gap:4px}
.gp-ef-label{font-size:11.5px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.4px}
body.dark .gp-ef-label{color:#9ca3af}
.gp-ef-field input,.gp-ef-field select,.gp-ef-field textarea{
  padding:9px 12px;border:1.5px solid #e5e7eb;border-radius:9px;font-size:13.5px;
  background:#fff;color:#111;font-family:inherit;transition:.12s;
}
body.dark .gp-ef-field input,body.dark .gp-ef-field select,body.dark .gp-ef-field textarea{
  background:#1e1e1e;border-color:#2a2a38;color:#e5e5e5;
}
.gp-ef-field input:focus,.gp-ef-field select:focus,.gp-ef-field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.12);
}
.gp-ef-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gp-ef-field textarea{resize:vertical;min-height:70px}
.gp-ef-footer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 20px;border-top:1px solid #f0f0f0;
}
body.dark .gp-ef-footer{border-color:#2a2a38}
.gp-ef-btn{
  display:inline-flex;align-items:center;gap:6px;border:none;border-radius:9px;
  padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;
}
.gp-ef-btn.primary{background:var(--gold);color:#000}
.gp-ef-btn.primary:hover{background:#c4a030}
.gp-ef-btn.danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.gp-ef-btn.danger:hover{background:#dc2626;color:#fff}
.gp-ef-btn.ghost{background:#f3f4f6;color:#374151}
body.dark .gp-ef-btn.ghost{background:#2a2a38;color:#ccc}
.gp-ef-btn.ghost:hover{background:#e5e7eb}

/* Topbar dot count */
#agendaTopbarCount{
  position:absolute;top:4px;right:4px;min-width:14px;height:14px;
  border-radius:7px;background:#dc2626;color:#fff;font-size:9px;font-weight:800;
  display:none;align-items:center;justify-content:center;padding:0 3px;
}
#agendaTopbarCount.show{display:flex}

/* ── style-30.css ── */
/* === Champ "Assigner à un employé" dans le formulaire événement === */
.gp-ef-assign-row{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1.5px solid #e9edf3;border-radius:10px;padding:9px 12px;cursor:pointer;transition:.15s}
.gp-ef-assign-row:hover{border-color:var(--gold);background:#fffbf0}
.gp-ef-assign-row .material-symbols-rounded{font-size:18px;color:#9ca3af}
.gp-ef-assign-text{flex:1;font-size:13px;color:#374151;font-weight:500}
.gp-ef-assign-clear{border:none;background:transparent;cursor:pointer;color:#9ca3af;display:flex;align-items:center}
body.dark .gp-ef-assign-row{background:#1e1e1e;border-color:#2a2a38}
body.dark .gp-ef-assign-text{color:#ccc}

/* === Picker employé dans le formulaire === */
#gpEfEmployeePicker{
  position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1100;
  display:none;align-items:center;justify-content:center;padding:20px;
}
#gpEfEmployeePicker.open{display:flex}
.gp-ep-box{background:#fff;border-radius:16px;width:380px;max-width:95vw;box-shadow:0 16px 48px rgba(0,0,0,.22);animation:fadeIn .15s ease;overflow:hidden}
body.dark .gp-ep-box{background:#1a1a2e}
.gp-ep-header{padding:14px 18px;background:linear-gradient(135deg,#0F0F0F,#1a1a2e);display:flex;align-items:center;justify-content:space-between}
.gp-ep-title{font-size:14px;font-weight:800;color:#fff;display:flex;align-items:center;gap:8px}
.gp-ep-title .material-symbols-rounded{color:var(--gold);font-size:18px}
.gp-ep-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:7px 11px;margin:12px 14px}
body.dark .gp-ep-search{background:#1e1e1e;border-color:#2a2a38}
.gp-ep-search input{border:none;outline:none;background:transparent;font-size:13px;flex:1;color:inherit}
.gp-ep-list{max-height:260px;overflow-y:auto;padding:0 8px 10px}
.gp-ep-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;transition:.12s}
.gp-ep-item:hover{background:#fdf9ec}
body.dark .gp-ep-item:hover{background:#2a2a38}
.gp-ep-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#c4a030);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#000;flex-shrink:0}
.gp-ep-name{font-size:13px;font-weight:700;color:#111}
body.dark .gp-ep-name{color:#eee}
.gp-ep-role{font-size:11px;color:#9ca3af}

/* === Badge "Assigné" sur les cartes événements === */
.gp-ev-assigned-badge{display:inline-flex;align-items:center;gap:3px;background:#fdf9ec;border:1px solid #f0e08a;color:#92400e;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:20px}
.gp-ev-assigned-badge .material-symbols-rounded{font-size:12px}

/* === Section missions dans la page Journal === */
.gp-journal-agenda-section{
  background:#fff;border:1px solid #e9edf3;border-radius:16px;
  padding:18px;margin-bottom:18px;box-shadow:0 4px 16px rgba(0,0,0,.05);
}
body.dark .gp-journal-agenda-section{background:#1e1e1e;border-color:#2a2a38}
.gp-ja-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.gp-ja-title{font-size:15px;font-weight:800;color:#111;display:flex;align-items:center;gap:8px}
body.dark .gp-ja-title{color:#eee}
.gp-ja-title .material-symbols-rounded{color:var(--gold);font-size:20px}
.gp-ja-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gp-ja-filter{border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;font-size:12px;background:#fff;color:#374151;outline:none}
body.dark .gp-ja-filter{background:#1e1e1e;border-color:#2a2a38;color:#ccc}
.gp-ja-btn{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;transition:.14s}
.gp-ja-btn.primary{background:var(--gold);color:#000}
.gp-ja-btn.primary:hover{background:#c4a030}

/* Tableau unifié missions+agenda */
.gp-ja-table{width:100%;border-collapse:collapse;font-size:12.5px}
.gp-ja-table thead th{text-align:left;padding:8px 10px;background:#f9fafb;border-bottom:1px solid #e9edf3;font-size:11px;font-weight:800;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}
body.dark .gp-ja-table thead th{background:#111827;border-color:#2a2a38;color:#6b7280}
.gp-ja-table tbody td{padding:10px;border-bottom:1px solid #f3f4f6;vertical-align:middle}
body.dark .gp-ja-table tbody td{border-color:#2a2a38}
.gp-ja-table tbody tr:hover{background:#fdf9ec}
body.dark .gp-ja-table tbody tr:hover{background:#1a2233}
.gp-ja-source{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:12px}
.gp-ja-source.agenda{background:#eff6ff;color:#2563eb}
.gp-ja-source.mission{background:#fef3c7;color:#92400e}
.gp-ja-prio{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}
.gp-ja-status{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:12px}
.gp-ja-status.todo{background:#f3f4f6;color:#374151}
.gp-ja-status.done{background:#dcfce7;color:#166534}
.gp-ja-status.inprogress{background:#fef3c7;color:#92400e}
.gp-ja-employee-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600}
.gp-ja-emp-av{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#c4a030);color:#000;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gp-ja-empty{text-align:center;padding:36px;color:#9ca3af;font-size:13px}
.gp-ja-empty .material-symbols-rounded{font-size:40px;color:#d1d5db;display:block;margin-bottom:8px}

/* Vue employé individuel — ses missions depuis l'agenda directeur */
.gp-emp-missions-banner{
  background:linear-gradient(135deg,#0F0F0F,#1a1a2e);
  border-radius:12px;padding:14px 18px;margin-bottom:14px;
  display:flex;align-items:center;gap:14px;
}
.gp-emp-missions-banner .material-symbols-rounded{font-size:28px;color:var(--gold)}
.gp-emp-mb-text{flex:1}
.gp-emp-mb-title{font-size:14px;font-weight:800;color:#fff}
.gp-emp-mb-sub{font-size:12px;color:rgba(255,255,255,.55);margin-top:2px}
.gp-emp-mb-count{background:var(--gold);color:#000;font-size:13px;font-weight:800;padding:4px 10px;border-radius:20px;white-space:nowrap}

/* ── style-31.css ── */
/* ══════════════════════════════════════════════════════════════
   CHAMPS FORMULAIRE — Style floating label (comme la photo)
   Appliqué à tous les .fg dans toute l'application
══════════════════════════════════════════════════════════════ */

/* Reset du .fg de base */
.fg {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  font-size: 13px !important;
}

/* Label flottant */
.fg label {
  position: absolute !important;
  top: -9px !important;
  left: 11px !important;
  background: #fff !important;
  padding: 0 4px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  z-index: 2 !important;
  pointer-events: none !important;
  line-height: 1 !important;
}
body.dark .fg label {
  background: #1e1e1e !important;
  color: #9ca3af !important;
}

.fg label span { color: #ef4444 !important; }

/* Wrapper pour tous les inputs/selects */
.fg input[type="text"],
.fg input[type="number"],
.fg input[type="date"],
.fg input[type="email"],
.fg input[type="password"],
.fg input[type="tel"],
.fg input[type="time"],
.fg input[type="search"],
.fg select,
.fg textarea {
  width: 100% !important;
  height: 44px !important;
  padding: 0 12px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 500 !important;
  color: #111827 !important;
  background: #fff !important;
  outline: none !important;
  transition: border-color .18s, box-shadow .18s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-shadow: none !important;
}

/* Textarea spécifique */
.fg textarea {
  height: auto !important;
  min-height: 80px !important;
  padding: 11px 12px !important;
  resize: vertical !important;
  line-height: 1.5 !important;
}

/* Focus state */
.fg input:focus,
.fg select:focus,
.fg textarea:focus {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12) !important;
}

.fg input:focus + label,
.fg select:focus + label {
  color: #D4AF37 !important;
}

/* Dark mode */
body.dark .fg input[type="text"],
body.dark .fg input[type="number"],
body.dark .fg input[type="date"],
body.dark .fg input[type="email"],
body.dark .fg input[type="password"],
body.dark .fg input[type="tel"],
body.dark .fg input[type="time"],
body.dark .fg input[type="search"],
body.dark .fg select,
body.dark .fg textarea {
  background: #1e1e2e !important;
  border-color: #2d2d3f !important;
  color: #e5e7eb !important;
}

body.dark .fg input:focus,
body.dark .fg select:focus,
body.dark .fg textarea:focus {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15) !important;
}

/* Flèche select custom */
.fg select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 16px !important;
  padding-right: 32px !important;
  cursor: pointer !important;
}

/* ── Card: fond blanc, padding, ombre douce ── */
.card {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  border: 1px solid #f1f5f9 !important;
  position: relative !important;
}
body.dark .card {
  background: #1a1a2e !important;
  border-color: #2a2a38 !important;
}

/* ── Titre de card ── */
.card h3 {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #111 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding-bottom: 10px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.dark .card h3 { color: #eee !important; border-color: #2a2a38 !important; }

/* ── fgrid spacing ── */
.fgrid { gap: 20px !important; }
.fgrid.g2 { grid-template-columns: 1fr 1fr !important; }
.fgrid.g3 { grid-template-columns: 1fr 1fr 1fr !important; }

/* ── Boutons form ── */
.form-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 20px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
.btn {
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  border: none !important;
  transition: .15s !important;
}
.btn-primary {
  background: #D4AF37 !important;
  color: #000 !important;
}
.btn-primary:hover { background: #c4a030 !important; }
.btn-danger {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fecaca !important;
}
.btn-danger:hover { background: #dc2626 !important; color: #fff !important; }
.btn-blue {
  background: #dbeafe !important;
  color: #1e40af !important;
  border: 1px solid #bfdbfe !important;
}
.btn-blue:hover { background: #2563eb !important; color: #fff !important; }

/* ── Photo box ── */
.photo-box {
  border: 2px dashed #e2e8f0 !important;
  border-radius: 14px !important;
  transition: .18s !important;
}
.photo-box:hover {
  border-color: #D4AF37 !important;
  background: #fffbf0 !important;
}

/* ── Toggle switch ── */
.toggle-switch input:checked + .slider-s { background: #D4AF37 !important; }

/* ── Modals internes (Mission employé, etc.) ── */
.emp-mission-box .fg label,
.card .fg label,
.profil-modal-box .fg label {
  background: #fff !important;
}
body.dark .emp-mission-box .fg label,
body.dark .card .fg label {
  background: #1a1a2e !important;
}

/* ── Formulaires dans les modals sombres ── */
.profil-modal-body .fg input,
.profil-modal-body .fg select,
.profil-modal-body .fg textarea {
  background: #f9fafb !important;
}
body.dark .profil-modal-body .fg input,
body.dark .profil-modal-body .fg select,
body.dark .profil-modal-body .fg textarea {
  background: #111827 !important;
  border-color: #374151 !important;
}
body.dark .profil-modal-body .fg label {
  background: #1e1e1e !important;
}

/* ── Section connexion (droits d'accès) ── */
.fg-connexion {
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 18px !important;
}

/* ── Input readonly / disabled ── */
.fg input[readonly],
.fg input:disabled,
.fg select:disabled {
  background: #f9fafb !important;
  color: #9ca3af !important;
  cursor: not-allowed !important;
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .card { padding: 16px !important; }
}

/* ── Override anciens labels qui étaient en uppercase/petit ── */
.fg > label:first-child {
  position: absolute !important;
  top: -9px !important;
  left: 11px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-transform: none !important;
  color: #6b7280 !important;
  background: #fff !important;
  padding: 0 4px !important;
  z-index: 2 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

/* Compatibilité avec les divs contenant label+input dans le mauvais ordre */
.fg:has(> label:first-child) {
  padding-top: 10px !important;
}

/* Cas où label vient APRÈS l'input (certains modals) */
.fg input + label,
.fg select + label,
.fg textarea + label {
  top: 1px !important;
  order: -1 !important;
}

/* ══ SECTION CONNEXION (droits page) — boîte dédiée ══ */
.emp-connex-box {
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px !important;
  margin-top: 4px !important;
}
body.dark .emp-connex-box {
  background: #1e1e2e !important;
  border-color: #2a2a38 !important;
}
.emp-connex-box h4 {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #374151 !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
body.dark .emp-connex-box h4 { color: #ccc !important; }

/* ══ LOGO SIDEBAR — CORRECTIF FINAL ══
   Force l'affichage des deux lignes "Genius" / "Property"
   quelles que soient les règles précédentes
   + Alignement trait logo / trait topbar (topbar=58px)   */

/* ALIGNEMENT TRAIT SIDEBAR ↔ TOPBAR
   topbar height = 58px
   sidebar padding-top = 12px
   logo img = 38px
   => padding-bottom logo = 58 - 12 - 38 = 8px, margin-bottom = 0
   Le border-bottom du logo s'aligne alors exactement avec
   le border-bottom de la topbar.                         */
.sidebar {
  padding-top: 0 !important;
}
.sidebar .logo {
  height: 58px !important;
  min-height: 58px !important;
  padding: 0 10px !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  box-sizing: border-box !important;
}
.sidebar .logo .sidebar-logo-name,
.sidebar .logo .sidebar-logo-sub {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 0 !important; /* reset */
}
.sidebar .logo .sidebar-logo-name {
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #D4AF37 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
}
.sidebar .logo .sidebar-logo-sub {
  font-size: 9px !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
}
body.dark .sidebar .logo .sidebar-logo-name { color: #eee !important; }
body.dark .sidebar .logo .sidebar-logo-sub  { color: var(--gold) !important; }

/* ══ ALIGNEMENT LOGO ↔ TOPBAR — correction définitive ══
   La topbar fait 58px. Le logo sidebar doit aussi faire 58px
   pour que les deux traits (border-right sidebar + border-bottom topbar)
   se rejoignent exactement au même coin.                   */
.sidebar {
  padding-top: 0 !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.sidebar .logo {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 0 2px !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}
/* La topbar doit avoir EXACTEMENT la même hauteur */
.topbar {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
}
body.dark .topbar { border-bottom-color: #2a2a38 !important; box-shadow: none !important; }
/* Espace contenu sous la topbar */
.content { padding-top: 70px !important; }

/* ── style-32.css ── */
/* ── Supprime le zoom global fixe (incompatible mobile) ── */
html { zoom: 1 !important; }

/* ══════════════════════════════════════════════════
   BOUTON HAMBURGER (masqué sur desktop)
══════════════════════════════════════════════════ */
#hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  color: #374151;
  flex-shrink: 0;
  transition: background .15s;
  margin-right: 8px;
}
#hamburger:hover { background: #f3f4f6; }
body.dark #hamburger { color: #e5e5e5; }
body.dark #hamburger:hover { background: #2a2a38; }
#hamburger .material-symbols-rounded { font-size: 24px; pointer-events: none; }

/* Overlay sidebar mobile */
#sidebarOverlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 99;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
#sidebarOverlay.show { display: block; }

/* ══════════════════════════════════════════════════
   VARIABLES RESPONSIVE
══════════════════════════════════════════════════ */
:root {
  --sidebar-w: 200px;
  --topbar-h: 58px;
  --content-pad-x: 20px;
  --content-pad-top: 76px;
}

/* ══════════════════════════════════════════════════
   ≥ 1600px — TRÈS GRAND ÉCRAN (2XL)
══════════════════════════════════════════════════ */
@media (min-width: 1600px) {
  :root { --sidebar-w: 220px; --content-pad-x: 32px; }
  .content { margin-left: var(--sidebar-w) !important; padding: 0 var(--content-pad-x) 32px !important; padding-top: var(--content-pad-top) !important; }
  .stats { grid-template-columns: repeat(4, 1fr) !important; max-width: none !important; }
  .locataires-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; }
}

/* ══════════════════════════════════════════════════
   1025px – 1599px — GRAND ÉCRAN (XL)
══════════════════════════════════════════════════ */
@media (min-width: 1025px) and (max-width: 1599px) {
  :root { --sidebar-w: 190px; --content-pad-x: 22px; }
  .content { margin-left: var(--sidebar-w) !important; padding: 0 var(--content-pad-x) 28px !important; padding-top: var(--content-pad-top) !important; }
  .topbar { left: var(--sidebar-w) !important; }
  .stats:not(.small) { grid-template-columns: repeat(3, 1fr) !important; max-width: none !important; }
  .stats.small { grid-template-columns: repeat(4, 1fr) !important; }
  .charts { grid-template-columns: 2fr 1fr !important; }
  .rpt-kpis { grid-template-columns: repeat(4, 1fr) !important; }
  .audit-kpis { grid-template-columns: repeat(5, 1fr) !important; }
}

/* ══════════════════════════════════════════════════
   769px – 1024px — ÉCRAN MOYEN / PETITS LAPTOPS (LG)
══════════════════════════════════════════════════ */
@media (min-width: 769px) and (max-width: 1024px) {
  :root { --sidebar-w: 64px; --content-pad-x: 16px; --content-pad-top: 70px; }

  /* Sidebar icônes seulement */
  .sidebar {
    width: var(--sidebar-w) !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: fixed !important;
  }
  .sidebar .logo {
    height: 58px !important;
    padding: 0 !important;
    justify-content: center !important;
    gap: 0 !important;
    border-bottom: 1px solid var(--line) !important;
  }
  .sidebar .logo img { width: 32px !important; height: 32px !important; }
  .sidebar .logo > div { display: none !important; }
  .menu { gap: 2px !important; padding: 6px 4px !important; margin-top: 0 !important; }
  .menu li {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    justify-content: center !important;
    gap: 0 !important;
    border-radius: 10px !important;
    font-size: 0 !important; /* masque le texte */
    overflow: hidden !important;
    position: relative !important;
  }
  .menu li span.material-symbols-rounded { font-size: 22px !important; color: inherit !important; }
  /* Tooltip au hover */
  .menu li::after {
    content: attr(data-page);
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    background: #111;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 8px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s;
    z-index: 200;
    text-transform: capitalize;
  }
  .menu li:hover::after { opacity: 1; }
  body.dark .menu li::after { background: #fff; color: #111; }
  .menu li.logout span.material-symbols-rounded { color: #dc2626 !important; }

  .content { margin-left: var(--sidebar-w) !important; padding: 0 var(--content-pad-x) 24px !important; padding-top: var(--content-pad-top) !important; }
  .topbar { left: var(--sidebar-w) !important; padding: 0 14px !important; }

  /* Grilles */
  .stats:not(.small) { grid-template-columns: repeat(3, 1fr) !important; max-width: none !important; }
  .audit-kpis { grid-template-columns: repeat(3, 1fr) !important; }
  .form-page-grid.cols-3 { grid-template-columns: 1fr 1fr !important; }
  .form-page-grid.cols-2 { grid-template-columns: 1fr !important; }
  .locataires-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; }
  .msg-mail-app { grid-template-columns: 260px 1fr !important; }
  .view-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ══════════════════════════════════════════════════
   481px – 768px — TABLETTE (MD)
══════════════════════════════════════════════════ */
@media (min-width: 481px) and (max-width: 768px) {
  :root { --sidebar-w: 0px; --content-pad-x: 14px; --content-pad-top: 66px; }

  /* Hamburger visible */
  #hamburger { display: flex !important; }

  /* Sidebar en drawer */
  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -240px !important;
    width: 240px !important;
    height: 100vh !important;
    z-index: 100 !important;
    transition: left .28s cubic-bezier(.4,0,.2,1) !important;
    overflow-y: auto !important;
    padding: 0 10px 20px !important;
  }
  .sidebar .logo { height: 58px !important; justify-content: flex-start !important; padding: 0 6px !important; }
  .menu li { height: 42px !important; font-size: 13px !important; gap: 10px !important; padding: 0 10px !important; }
  .menu li span.material-symbols-rounded { font-size: 20px !important; }
  .topbar { left: 0 !important; padding: 0 14px !important; height: 58px !important; min-height: 58px !important; }

  /* Grilles tablette */
  .stats:not(.small) { grid-template-columns: repeat(2, 1fr) !important; max-width: none !important; }
  .stats.small { grid-template-columns: repeat(2, 1fr) !important; }
  .rpt-kpis { grid-template-columns: repeat(2, 1fr) !important; }
  .rpt-secondary-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .audit-kpis { grid-template-columns: repeat(2, 1fr) !important; }
  .fgrid.g3 { grid-template-columns: 1fr 1fr !important; }
  .locataires-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important; }
  .msg-mail-sidebar { max-height: 280px !important; }
  .msg-mail-panel { min-height: 400px !important; }
  .row-modal-box { width: 95vw !important; padding: 20px !important; }
  .page-hero, .page-header, .locataires-modern-header,
  .proprietaires-page-header, .biens-page-header,
  .rpt-header, .audit-header { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
  .page-hero-actions, .page-header > div:last-child,
  .locataires-modern-actions, .proprietaires-page-header > div:last-child,
  .biens-page-header > div:last-child, .rpt-actions,
  .audit-actions { width: 100% !important; flex-wrap: wrap !important; }
  .dash-welcome { flex-direction: column !important; gap: 10px !important; padding: 14px !important; }
  .table-controls { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
  table { font-size: 12px !important; }
  thead th { font-size: 10px !important; padding: 8px 6px !important; }
  tbody td { padding: 8px 6px !important; }
  .locataires-kpis { grid-template-columns: 1fr 1fr !important; }
  .locataires-toolbar { flex-wrap: wrap !important; }
  .login-right { flex: 1 !important; }
  .login-box { width: 92vw !important; padding: 32px 24px !important; }
}

/* ══════════════════════════════════════════════════
   360px – 480px — MOBILE (SM)
══════════════════════════════════════════════════ */
@media (min-width: 360px) and (max-width: 480px) {
  :root { --content-pad-x: 12px; --content-pad-top: 62px; }

  /* Hamburger */
  #hamburger { display: flex !important; }

  /* Sidebar drawer */
  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -220px !important;
    width: 220px !important;
    height: 100vh !important;
    z-index: 100 !important;
    transition: left .28s cubic-bezier(.4,0,.2,1) !important;
    overflow-y: auto !important;
    padding: 0 8px 20px !important;
  }
  .sidebar .logo { height: 54px !important; padding: 0 4px !important; }
  .menu li { height: 40px !important; font-size: 13px !important; }

  .content { margin-left: 0 !important; padding: 0 var(--content-pad-x) 24px !important; padding-top: var(--content-pad-top) !important; }
  .topbar { left: 0 !important; padding: 0 12px !important; height: 54px !important; min-height: 54px !important; }
  .topbar h2 { font-size: 14px !important; }

  /* Grilles mobile SM */
  .stats:not(.small) { grid-template-columns: 1fr 1fr !important; max-width: none !important; gap: 8px !important; }
  .charts { grid-template-columns: 1fr !important; }
  .rpt-kpis { grid-template-columns: 1fr 1fr !important; }
  .rpt-charts-grid { grid-template-columns: 1fr !important; }
  .rpt-secondary-grid { grid-template-columns: 1fr 1fr !important; }
  .audit-kpis { grid-template-columns: 1fr 1fr !important; }
  .form-page-grid.cols-3, .form-page-grid.cols-2 { grid-template-columns: 1fr !important; }
  .fgrid.g2, .fgrid.g3 { grid-template-columns: 1fr !important; }
  .locataires-grid { grid-template-columns: 1fr !important; }
  .locataires-kpis { grid-template-columns: 1fr !important; }
  #page-parametres .cfg-grid { grid-template-columns: 1fr !important; }
  .dash-revenus-layout { grid-template-columns: 1fr !important; }
  .msg-mail-app { grid-template-columns: 1fr !important; height: auto !important; }
  .msg-mail-sidebar { max-height: 260px !important; }
  .msg-mail-panel { min-height: 360px !important; }
  .pay-layout { grid-template-columns: 1fr !important; }
  .row-modal-box { width: 98vw !important; padding: 16px !important; max-height: 96vh !important; }
  .page-hero, .page-header, .locataires-modern-header,
  .proprietaires-page-header, .biens-page-header { flex-direction: column !important; gap: 8px !important; }
  .page-hero-actions, .page-header > div:last-child,
  .locataires-modern-actions { width: 100% !important; flex-wrap: wrap !important; }
  .dash-welcome { flex-direction: column !important; gap: 8px !important; padding: 12px !important; }
  .dash-date-badge { align-self: flex-start !important; }
  .top-actions { flex-wrap: wrap !important; gap: 6px !important; }
  .btn { font-size: 12px !important; padding: 6px 10px !important; }
  .table-controls { flex-direction: column !important; align-items: flex-start !important; }
  table { font-size: 11px !important; }
  thead th { font-size: 9px !important; padding: 7px 5px !important; }
  tbody td { padding: 7px 5px !important; }
  .icon-btn { width: 28px !important; height: 28px !important; }
  .stat-card h3 { font-size: 16px !important; }
  .login-box { width: 96vw !important; padding: 28px 18px !important; border-radius: 18px !important; }
  .lb-title { font-size: 18px !important; }
  .table-footer { flex-direction: column !important; gap: 8px !important; align-items: flex-start !important; }
  .locataires-toolbar { flex-direction: column !important; }
  .loc-search { width: 100% !important; }
  .cfg-section { flex-direction: column !important; }
  .user-box { padding: 4px 6px !important; border-left: 0 !important; }
  .tb-icon-btn { width: 32px !important; height: 32px !important; }
}

/* ══════════════════════════════════════════════════
   < 360px — TRÈS PETIT MOBILE (XS)
══════════════════════════════════════════════════ */
@media (max-width: 359px) {
  :root { --content-pad-x: 10px; --content-pad-top: 58px; }
  #hamburger { display: flex !important; width: 32px !important; height: 32px !important; margin-right: 4px !important; }
  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -200px !important;
    width: 200px !important;
    height: 100vh !important;
    z-index: 100 !important;
    transition: left .28s cubic-bezier(.4,0,.2,1) !important;
    overflow-y: auto !important;
    padding: 0 6px 16px !important;
  }
  .sidebar.open { left: 0 !important; }
  .sidebar .logo { height: 50px !important; padding: 0 4px !important; }
  .menu li { height: 36px !important; font-size: 12px !important; }
  .content { margin-left: 0 !important; padding: 0 var(--content-pad-x) 20px !important; padding-top: var(--content-pad-top) !important; }
  .topbar { left: 0 !important; padding: 0 10px !important; height: 50px !important; min-height: 50px !important; }
  .stats:not(.small) { grid-template-columns: 1fr !important; max-width: none !important; }
  .stats.small { grid-template-columns: 1fr 1fr !important; }
  .charts, .rpt-kpis, .rpt-charts-grid, .rpt-secondary-grid,
  .audit-kpis, .form-page-grid, .fgrid.g2, .fgrid.g3,
  .locataires-grid, .locataires-kpis { grid-template-columns: 1fr !important; }
  .dash-welcome { flex-direction: column !important; gap: 8px !important; padding: 10px !important; }
  .row-modal-box { width: 99vw !important; padding: 14px !important; }
  .login-box { width: 98vw !important; padding: 24px 14px !important; border-radius: 14px !important; }
  .topbar-breadcrumb { display: none !important; }
  .user-info { display: none !important; }
  .user-chevron { display: none !important; }
  .user-box { border-left: 0 !important; }
}

/* ══════════════════════════════════════════════════
   TABLEAUX : scroll horizontal sur mobile
══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .container, .payments-card { overflow-x: auto !important; }
  .container table, .payments-card table { min-width: 520px !important; }
  #auditTable { min-width: 640px !important; }

  /* Colonnes actions toujours visibles */
  .actions { flex-wrap: nowrap !important; }

  /* Sidebar fermée par défaut en mobile — le JS gère l'ouverture */
  .sidebar { box-shadow: 0 8px 32px rgba(0,0,0,.22) !important; }
}

/* ══════════════════════════════════════════════════
   TOPBAR : hamburger toujours à gauche
══════════════════════════════════════════════════ */
@media (max-width: 1024px) {
}

/* ══════════════════════════════════════════════════
   LOGIN PAGE RESPONSIVE
══════════════════════════════════════════════════ */
@media (max-width: 900px) {
  #loginPage { flex-direction: column !important; }
  .login-left { display: none !important; }
  .login-right { flex: 1 !important; padding: 24px 16px !important; }
  .login-box { width: min(420px, 94vw) !important; }
}

/* ══════════════════════════════════════════════════
   DIVERS CORRECTIONS RESPONSIVE
══════════════════════════════════════════════════ */
/* S'assure que les images ne débordent pas */
img { max-width: 100%; }

/* Cartes bien / locataire min-width sur mobile */
@media (max-width: 480px) {
  .bien-card, .locataire-card, .proprietaires-card { min-width: 0 !important; }
  .biens-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
}
@media (max-width: 380px) {
  .biens-grid { grid-template-columns: 1fr !important; }
}

/* Messagerie : panel revient en colonne sur mobile */
@media (max-width: 768px) {
  .msg-mail-app {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* Breadcrumb ne coupe pas sur mobile */
@media (max-width: 600px) {
  .breadcrumb-box { max-width: calc(100vw - 140px) !important; overflow: hidden !important; }
  .breadcrumb-box span:not(.breadcrumb-sep):not(:last-child) { display: none !important; }
  .breadcrumb-sep:not(:last-of-type) { display: none !important; }
}


/* =========================================================
   PATCH RESPONSIVE GLOBAL FINAL — topbar/sidebar anti-coupure
   Objectif : garder Paramètres, Déconnexion, profil et icônes visibles
   sur desktop, laptop 14", tablette et mobile.
========================================================= */

/* Base anti-débordement */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.app-wrap,
.content,
.topbar,
.sidebar,
.top-icons,
.user-box,
.topbar-breadcrumb,
.gp-global-breadcrumb,
.breadcrumb-box {
  box-sizing: border-box !important;
}

.content {
  min-width: 0 !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

.topbar {
  width: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  gap: 8px !important;
}

.topbar-breadcrumb,
.gp-global-breadcrumb {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}

.topbar .breadcrumb-box,
.topbar h2 {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.top-icons {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  min-width: max-content !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.tb-icon-btn,
.user-avatar,
.user-menu-avatar,
.user-chevron,
.tb-sep {
  flex-shrink: 0 !important;
}

.user-box {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 170px !important;
  overflow: visible !important;
}

.user-info,
.user-menu-meta {
  min-width: 0 !important;
  overflow: hidden !important;
}

.user-name,
.user-role,
.user-menu-name,
.user-menu-email {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.user-menu {
  right: 0 !important;
  max-width: min(260px, calc(100vw - 20px)) !important;
  z-index: 1000 !important;
}

/* Desktop / grands laptops */
@media (max-width: 1440px) {
  :root { --sidebar-w: 170px !important; }

  .sidebar { width: var(--sidebar-w) !important; }

  .sidebar .logo .logo-text,
  .logo-text { max-width: 125px !important; }

  .menu li {
    font-size: 11px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    gap: 7px !important;
  }

  .topbar { padding-left: 12px !important; padding-right: 12px !important; }
  .user-box { max-width: 145px !important; padding-right: 7px !important; }
}

/* Laptop 13/14 pouces */
@media (max-width: 1366px) {
  :root { --sidebar-w: 154px !important; }

  .sidebar { width: var(--sidebar-w) !important; padding-left: 8px !important; padding-right: 8px !important; }

  .sidebar .logo .logo-text,
  .logo-text { max-width: 105px !important; }

  .logo-name { font-size: 11px !important; }
  .logo-sub { font-size: 8.5px !important; }

  .menu li {
    font-size: 10px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    gap: 6px !important;
  }

  .menu li .material-symbols-rounded,
  .menu li span.material-symbols-rounded { font-size: 17px !important; width: 20px !important; min-width: 20px !important; }

  .topbar { padding-left: 10px !important; padding-right: 10px !important; gap: 6px !important; }
  .tb-icon-btn { width: 26px !important; height: 26px !important; border-radius: 7px !important; }
  .tb-sep { margin: 0 2px !important; height: 17px !important; }

  .user-role { display: none !important; }
  .user-box { max-width: 112px !important; gap: 5px !important; padding: 4px 6px 4px 4px !important; }
  .user-avatar { width: 26px !important; height: 26px !important; }
}

/* Tablette : sidebar compacte + topbar respirante */
@media (max-width: 1024px) {
  :root { --sidebar-w: 68px !important; }

  .sidebar {
    width: var(--sidebar-w) !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    overflow-x: hidden !important;
  }

  .sidebar .logo { justify-content: center !important; }
  .sidebar .logo .logo-text,
  .logo-text { display: none !important; }

  .menu li {
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 0 !important;
  }

  .menu li span:not(.material-symbols-rounded) { display: none !important; }
  .menu li .material-symbols-rounded,
  .menu li span.material-symbols-rounded { font-size: 22px !important; width: auto !important; min-width: 0 !important; }

  .content { margin-left: var(--sidebar-w) !important; }
  .topbar, .dash-breadcrumb { left: var(--sidebar-w) !important; }

  .topbar { justify-content: flex-start !important; padding-left: 8px !important; padding-right: 10px !important; }

  .user-box { max-width: 44px !important; padding: 4px !important; }

  .stats,
  .stats.small,
  .charts,
  .rpt-kpis,
  .rpt-secondary-grid,
  .dash-grid-top,
  .form-page-grid.cols-2,
  .form-page-grid.cols-3,
  .fgrid.g2,
  .fgrid.g3 {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Mobile : sidebar en drawer, topbar pleine largeur */
@media (max-width: 768px) {
  :root { --sidebar-w: 0px !important; }

  #hamburger { display: flex !important; }

  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -260px !important;
    width: 240px !important;
    height: 100vh !important;
    z-index: 1000 !important;
    transition: left .25s ease !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .sidebar.open,
  .sidebar.mobile-open { left: 0 !important; transform: none !important; }

  .sidebar .logo { justify-content: flex-start !important; }
  .sidebar .logo .logo-text,
  .logo-text { display: flex !important; max-width: 165px !important; }

  .menu li {
    justify-content: flex-start !important;
    font-size: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .menu li span:not(.material-symbols-rounded) { display: inline !important; }

  .content {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .topbar,
  .dash-breadcrumb {
    left: 0 !important;
    right: 0 !important;
  }

  .topbar { padding-left: 8px !important; padding-right: 8px !important; gap: 4px !important; }

  .topbar-breadcrumb,
  .gp-global-breadcrumb { max-width: 34vw !important; }

  .topbar .breadcrumb-box { font-size: 12px !important; }
  .breadcrumb-box span:not(:last-child):not(.material-symbols-rounded) { display: none !important; }

  .top-icons { gap: 3px !important; min-width: max-content !important; }
  .tb-icon-btn { width: 30px !important; height: 30px !important; }
  .tb-sep { display: none !important; }

  .user-box { max-width: 38px !important; padding: 4px !important; }
  .user-info, .user-chevron { display: none !important; }
  .user-menu { position: fixed !important; top: 62px !important; right: 8px !important; }

  .stats,
  .stats.small,
  .charts,
  .rpt-kpis,
  .rpt-secondary-grid,
  .rpt-charts-grid,
  .dash-grid-top,
  .dash-main-grid,
  .dash-revenus-layout,
  .pay-layout,
  .form-page-grid.cols-2,
  .form-page-grid.cols-3,
  .fgrid.g2,
  .fgrid.g3 {
    grid-template-columns: 1fr !important;
  }

  .container,
  .payments-card,
  .table-responsive,
  .dash-panel {
    overflow-x: auto !important;
  }

  table { min-width: 680px !important; }

  .top-actions,
  .table-controls,
  .form-actions,
  .page-header,
  .page-hero,
  .audit-header,
  .rpt-header {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

/* Petits mobiles */
@media (max-width: 480px) {
  .topbar-breadcrumb,
  .gp-global-breadcrumb,
  .topbar h2 { display: none !important; }

  .topbar { justify-content: flex-start !important; }
  .topbar .top-icons { margin-left: auto !important; }

  .tb-icon-btn { width: 28px !important; height: 28px !important; }
  .tb-icon-btn .material-symbols-rounded { font-size: 15px !important; }

  .btn { width: 100% !important; justify-content: center !important; }
  .page-header h2 { font-size: 16px !important; }

  .row-modal-box { width: 95vw !important; padding: 16px !important; }
  .view-grid { grid-template-columns: 1fr !important; }

  .toast { left: 10px !important; right: 10px !important; bottom: 12px !important; }
}

/* Très petits écrans : on garde uniquement hamburger + icônes utiles */
@media (max-width: 360px) {
  .top-icons { gap: 2px !important; }
  .tb-icon-btn { width: 26px !important; height: 26px !important; }
  .user-avatar { width: 24px !important; height: 24px !important; }
}

/* =====================================================
   FIX NUCLÉAIRE FINAL — Sidebar compacte, tous écrans
   À garder EN DERNIER dans le CSS — priorité absolue
   ===================================================== */

/* 1. Sidebar : flex colonne, scroll interne discret */
.sidebar {
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 10px 8px !important;
  box-sizing: border-box !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(0,0,0,.10) transparent !important;
}
.sidebar::-webkit-scrollbar { width: 3px !important; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(0,0,0,.10) !important; border-radius: 3px !important; }

/* 2. Logo compact, ne se réduit pas */
.sidebar .logo {
  padding-bottom: 8px !important;
  margin-bottom: 4px !important;
  flex-shrink: 0 !important;
}

/* 3. Menu : flex colonne, prend tout l'espace restant */
.sidebar .menu {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 0px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4. Chaque item : hauteur compacte fixe */
.sidebar .menu li {
  display: flex !important;
  align-items: center !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 8px !important;
  gap: 7px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* 5. Icônes */
.sidebar .menu li .material-symbols-rounded,
.sidebar .menu li span.material-symbols-rounded {
  font-size: 16px !important;
  flex-shrink: 0 !important;
}

/* 6. Déconnexion poussé en bas */
.sidebar .menu li.logout {
  margin-top: auto !important;
  flex-shrink: 0 !important;
}

/* 7. Laptop 13/14" (1024–1600px) : items encore plus compacts */
@media (min-width: 1025px) and (max-width: 1600px) {
  .sidebar .menu li {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    font-size: 10.5px !important;
    padding: 0 7px !important;
    gap: 6px !important;
  }
  .sidebar .menu li .material-symbols-rounded,
  .sidebar .menu li span.material-symbols-rounded {
    font-size: 15px !important;
  }
  .sidebar .logo { padding-bottom: 6px !important; }
}

/* 8. Tablette icon-only */
@media (max-width: 1024px) {
  .sidebar .menu li {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: 0 !important;
    gap: 0 !important;
  }
  .sidebar .menu li .material-symbols-rounded,
  .sidebar .menu li span.material-symbols-rounded {
    font-size: 22px !important;
  }
}

/* ── style-33.css ── */
/* =====================================================
   FIX TAILLE — Bureau & Locations
   Ramène les titres et contenus à la même échelle
   que les autres pages
   ===================================================== */

/* --- PAGE BUREAU : réduire le "Bonjour" géant --- */
#page-dashboard .dash-hello,
#page-bureau .dash-hello,
.gp-bureau-v3 .dash-hello {
  font-size: 22px !important;
  gap: 8px !important;
  letter-spacing: -.3px !important;
}
#page-dashboard .dash-hello em,
#page-bureau .dash-hello em,
.gp-bureau-v3 .dash-hello em {
  font-size: 36px !important;
  line-height: .85 !important;
}
#page-dashboard .dash-hello em:after,
#page-bureau .dash-hello em:after,
.gp-bureau-v3 .dash-hello em:after {
  left: 20px !important; right: -14px !important;
  bottom: -7px !important; height: 10px !important;
  border-bottom-width: 2px !important;
}
#page-dashboard .dash-hello em:before,
#page-bureau .dash-hello em:before,
.gp-bureau-v3 .dash-hello em:before {
  right: -18px !important; bottom: -13px !important; font-size: 10px !important;
}
#page-dashboard .dash-hello span,
#page-bureau .dash-hello span,
.gp-bureau-v3 .dash-hello span {
  font-size: 22px !important;
}
#page-dashboard .dash-hero,
#page-bureau .dash-hero,
.gp-bureau-v3 .dash-hero {
  padding: 4px 0 10px !important;
}
.gp-date-pill {
  height: 36px !important;
  font-size: 12px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
}

/* --- PAGE LOCATIONS & toutes pages : titre uniforme --- */
.page-hero-text h3,
.page-header h2,
.proprietaires-page-header h2,
.biens-page-header h2 {
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -.2px !important;
}
.page-hero-text p,
.page-header p,
.proprietaires-page-header p,
.biens-page-header p {
  font-size: 11px !important;
  margin-top: 0px !important;
}
.page-hero, .page-header,
.proprietaires-page-header,
.biens-page-header {
  padding: 0 0 12px !important;
  margin: 0 0 12px !important;
}

/* ── style-34.css ── */
/* =====================================================
   FIX TAILLE — Bureau (stats cards) & Locations (mini-stats + cards)
   Cible les classes exactes responsables du surdimensionnement
   ===================================================== */

/* ── BUREAU : cartes stats (Biens / Locataires / Locations / Taux) ── */
.gp-stat-card {
  padding: 10px 12px !important;
  min-height: 62px !important;
  gap: 10px !important;
  border-radius: 12px !important;
}
.gp-stat-ico {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  flex-shrink: 0 !important;
}
.gp-stat-ico .material-symbols-rounded {
  font-size: 20px !important;
}
.gp-stat-label {
  font-size: 11px !important;
  font-weight: 500 !important;
}
.gp-stat-val {
  font-size: 18px !important;
  margin-top: 0px !important;
}
.gp-stat-sub {
  font-size: 10px !important;
  margin-top: 3px !important;
}
.gp-stat-grid {
  gap: 8px !important;
  margin-bottom: 10px !important;
}

/* ── BUREAU : .gp-user-final stats (même structure) ── */
.gp-user-final .gp-stat {
  padding: 10px 12px !important;
  min-height: 62px !important;
  gap: 10px !important;
  border-radius: 12px !important;
}
.gp-user-final .gp-stat-ico {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
}
.gp-user-final .gp-stat-ico .material-symbols-rounded {
  font-size: 20px !important;
}
.gp-user-final .gp-stat-label {
  font-size: 11px !important;
}
.gp-user-final .gp-stat-value {
  font-size: 18px !important;
  margin-top: 0px !important;
}
.gp-user-final .gp-stat-sub {
  font-size: 10px !important;
  margin-top: 3px !important;
}
.gp-user-final .gp-stats {
  gap: 8px !important;
}

/* ── LOCATIONS : mini-stats (3 cartes du haut) ── */
.gp-mini-stat {
  padding: 8px 10px !important;
  gap: 8px !important;
  border-radius: 10px !important;
}
.gp-mini-stat .material-symbols-rounded {
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
}
.gp-mini-stat strong {
  font-size: 14px !important;
  line-height: 1 !important;
}
.gp-mini-stat span:last-child {
  font-size: 10px !important;
  margin-top: 1px !important;
}
.gp-modern-stats {
  gap: 8px !important;
  margin-bottom: 10px !important;
}

/* ── LOCATIONS : cartes de location (image + titre + infos) ── */
.gp-card-grid {
  gap: 10px !important;
}
/* Réduire l'image preview en haut de carte */
.loc-card-img,
[class*="loc-card"] .card-img,
.gp-loc-card .card-thumb {
  height: 80px !important;
  max-height: 80px !important;
}
/* Textes dans les cartes */
.gp-loc-card,
.loc-card {
  padding: 10px !important;
}

/* ── style-35.css ── */
/* =====================================================
   FIX TAILLE EXACT — Bureau stats + Locations cards
   Classes réelles ciblées après inspection du code
   ===================================================== */

/* ── LOCATIONS : image/media de la carte ── */
.gp-location-media {
  height: 72px !important;
  border-radius: 10px !important;
  margin-bottom: 8px !important;
}
.gp-location-media .material-symbols-rounded {
  font-size: 28px !important;
}
.gp-location-badge {
  padding: 2px 7px !important;
  font-size: 9.5px !important;
}
.gp-location-title {
  font-size: 12px !important;
}
.gp-location-sub {
  font-size: 10px !important;
}
.gp-location-card {
  padding: 10px !important;
  border-radius: 14px !important;
}
.gp-card-lines {
  gap: 4px !important;
  margin-top: 7px !important;
}
.gp-card-line {
  font-size: 10.5px !important;
  gap: 5px !important;
}
.gp-card-line .material-symbols-rounded {
  font-size: 13px !important;
}
.gp-card-actions {
  margin-top: 8px !important;
  padding-top: 7px !important;
  gap: 5px !important;
}
.gp-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  gap: 8px !important;
}

/* ── BUREAU : vraies classes des stat cards ── */
/* Version gp-bureau-v3 / gp-user-final */
.gp-stat-card,
.gp-user-final .gp-stat {
  padding: 10px 12px !important;
  min-height: 60px !important;
  gap: 10px !important;
  border-radius: 12px !important;
}
.gp-stat-ico,
.gp-user-final .gp-stat-ico {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  flex-shrink: 0 !important;
}
.gp-stat-ico .material-symbols-rounded,
.gp-user-final .gp-stat-ico .material-symbols-rounded {
  font-size: 20px !important;
}
.gp-stat-label,
.gp-user-final .gp-stat-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}
.gp-stat-val,
.gp-user-final .gp-stat-value {
  font-size: 18px !important;
  margin-top: 0px !important;
  line-height: 1 !important;
}
.gp-stat-sub,
.gp-user-final .gp-stat-sub {
  font-size: 10px !important;
  margin-top: 3px !important;
}
.gp-stat-grid,
.gp-user-final .gp-stats {
  gap: 8px !important;
  margin-bottom: 10px !important;
}

/* ── style-36.css ── */
/* =====================================================
   FIX UI — Logo compact + Topbar aligné + Bordures
   ===================================================== */

/* ── 1. LOGO : compact, bien proportionné ── */
.sidebar .logo {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 4px 10px !important;
  margin-bottom: 4px !important;
  border-bottom: 1px solid var(--line) !important;
  flex-shrink: 0 !important;
}

/* Image logo arrondie */
.sidebar .logo img {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  padding: 2px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.10) !important;
}

/* Bloc texte */
.sidebar .logo > div,
.sidebar .logo .logo-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0px !important;
  line-height: 1 !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}

/* "GENIUS" — grand, doré */
.sidebar-logo-name,
.sidebar .logo .sidebar-logo-name {
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--gold) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  display: block !important;
}

/* "PROPERTY" — plus petit, gris */
.sidebar-logo-sub,
.sidebar .logo .sidebar-logo-sub {
  font-size: 8.5px !important;
  font-weight: 700 !important;
  color: #9ca3af !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  display: block !important;
  margin-top: 1px !important;
}

/* ── 2. TOPBAR : aligné avec la sidebar, bordure continue ── */
.topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  top: 0 !important;
  right: 0 !important;
  left: var(--sidebar-w) !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 14px !important;
  background: var(--sidebar-bg) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  z-index: 50 !important;
}

/* ── 3. SIDEBAR : même hauteur topbar + bordure qui touche ── */
.sidebar {
  border-right: 1px solid var(--line) !important;
  padding-top: 10px !important;
}
body.dark .sidebar {
  border-right-color: #2a2a38 !important;
}

/* La ligne du logo sépare logo du menu, même couleur que topbar */
.sidebar .logo {
  border-bottom-color: var(--line) !important;
}

/* ── 4. CONTENU : padding-top = hauteur topbar ── */
.content {
  padding-top: 52px !important;
}

/* ── style-37.css ── */
/* ================================================================
   FIX FINAL ABSOLU — Logo + Topbar + Alignement bordures
   Stratégie : variable --topbar-h partagée sidebar/topbar/content
   DOIT rester EN TOUT DERNIER dans le CSS
   ================================================================ */

:root {
  --topbar-h: 50px;
}

/* ── SIDEBAR : padding-top = hauteur topbar exacte ── */
.sidebar {
  padding-top: 0 !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  padding-bottom: 12px !important;
  background: #f4f5f7 !important;
  border-right: 1px solid #e9edf3 !important;
}
body.dark .sidebar {
  background: #1a1a1a !important;
  border-right-color: #2a2a38 !important;
}

/* ── LOGO ZONE : hauteur = topbar, centrage vertical, padding gauche ── */
.sidebar .logo {
  height: var(--topbar-h) !important;
  min-height: var(--topbar-h) !important;
  max-height: var(--topbar-h) !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 4px 0 6px !important;   /* 6px espace à gauche */
  margin: 0 !important;
  border-bottom: 1px solid #e9edf3 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
body.dark .sidebar .logo {
  border-bottom-color: #2a2a38 !important;
}

/* ── IMAGE LOGO : arrondie, lisible, pas collée ── */
.sidebar .logo img {
  width: 32px !important;
  height: 32px !important;
  border-radius: 9px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  background: white !important;
  padding: 3px !important;
  box-shadow: 0 1px 5px rgba(0,0,0,.12) !important;
  display: block !important;
}

/* ── TEXTE LOGO : "GENIUS" gros doré / "PROPERTY" petit gris ── */
.sidebar .logo > div,
.sidebar .logo .logo-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0px !important;
  line-height: 1 !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}
.sidebar-logo-name,
.sidebar .logo .sidebar-logo-name {
  font-size: 11.5px !important;
  font-weight: 900 !important;
  color: #D4AF37 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.sidebar-logo-sub,
.sidebar .logo .sidebar-logo-sub {
  font-size: 8px !important;
  font-weight: 700 !important;
  color: #9ca3af !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  margin-top: 0px !important;
}
/* Cache les vieilles spans logo-name / logo-sub si elles existent encore */
.sidebar .logo .logo-name,
.sidebar .logo .logo-sub {
  display: none !important;
}

/* ── TOPBAR : même hauteur exacte, même fond que sidebar, bordure basse ── */
.topbar {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: var(--sidebar-w) !important;
  height: var(--topbar-h) !important;
  min-height: var(--topbar-h) !important;
  max-height: var(--topbar-h) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 14px 0 16px !important;
  background: #f4f5f7 !important;
  border-bottom: 1px solid #e9edf3 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  z-index: 50 !important;
}
body.dark .topbar {
  background: #1a1a1a !important;
  border-bottom-color: #2a2a38 !important;
}

/* ── CONTENU : descend exactement sous la topbar ── */
.content {
  padding-top: var(--topbar-h) !important;
  margin-left: var(--sidebar-w) !important;
}

/* ── style-38.css ── */
/* ================================================================
   v12 — PROFIL AGRANDI + ICÔNES RÉDUITES + RECHERCHE
   ================================================================ */

/* Icônes topbar : plus petites */
.tb-icon-btn {
  width: 24px !important;
  height: 24px !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  border: 1px solid #e5e7eb !important;
  background: transparent !important;
}
.tb-icon-btn .material-symbols-rounded {
  font-size: 13px !important;
}
.tb-icon-btn:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: #000 !important;
}
body.dark .tb-icon-btn {
  border-color: #2a2a38 !important;
  background: transparent !important;
}
.top-icons { gap: 4px !important; }
.tb-sep { margin: 0 6px !important; height: 18px !important; }

/* Profil utilisateur : style carte agrandie comme sur la photo */
.user-box {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 5px 10px 5px 6px !important;
  background: white !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.07) !important;
  cursor: pointer !important;
  transition: .18s !important;
}
.user-box:hover {
  border-color: var(--gold) !important;
  box-shadow: 0 2px 10px rgba(212,175,55,.2) !important;
}
body.dark .user-box {
  background: #1e1e1e !important;
  border-color: #2a2a38 !important;
}

/* Avatar : fond doré avec icône person blanche */
.user-avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--gold) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.user-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* Texte nom/rôle — OVERRIDE ABSOLU FINAL */
.topbar .user-box .user-info {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.25 !important;
  overflow: visible !important;
  min-width: 0 !important;
  flex-shrink: 0 !important;
}
.topbar .user-box .user-name,
.user-box .user-name {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #111 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
  display: block !important;
}
body.dark .topbar .user-box .user-name { color: #eee !important; }

.topbar .user-box .user-role,
.user-box .user-role {
  font-size: 10.5px !important;
  color: #9ca3af !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
  display: block !important;
}

.user-chevron {
  font-size: 15px !important;
  color: #9ca3af !important;
  margin-left: 2px !important;
}

/* ── style-39.css ── */
/* FIX ESPACE GENIUS/PROPERTY — écrase tout héritage line-height */
.sidebar .logo > div,
.sidebar .logo .logo-text,
.sidebar .logo > div *,
.sidebar .logo .logo-text * {
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sidebar .logo > div,
.sidebar .logo .logo-text {
  gap: 0 !important;
}
.sidebar-logo-name { margin-bottom: 0 !important; }
.sidebar-logo-sub  { margin-top: 0 !important; }

/* ── style-40.css ── */
/* GENIUS/PROPERTY : zéro espace — override absolu final */
.sidebar .logo > div { gap: 0 !important; line-height: 1 !important; }
.sidebar .logo .sidebar-logo-name,
.sidebar .logo .sidebar-logo-sub {
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── style-41.css ── */
/* ── TOPBAR : icônes plus petites ── */
.tb-icon-btn {
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
}
.tb-icon-btn .material-symbols-rounded {
  font-size: 14px !important;
}
.top-icons { gap: 3px !important; }
.tb-sep { margin: 0 4px !important; height: 18px !important; }

/* ── PANEL AIDE : géré par .tb-panel.open (voir CSS principal) ── */

/* ── style-42.css ── */
/* ================================================================
   v12 FINAL ABSOLU — Profil complet visible, avatar doré
   ================================================================ */

/* Topbar : ne coupe pas le contenu à droite */
#topbar {
  overflow: visible !important;
}
.top-icons {
  overflow: visible !important;
  flex-shrink: 0 !important;
}

/* Espace sous le topbar — titre "Bonjour" pas collé */
.content {
  padding-top: calc(var(--topbar-h) + 18px) !important;
}
.gp-user-final .gp-top-title {
  margin-top: 10px !important;
  margin-bottom: 18px !important;
}

/* Calendrier date badge plus compact */
.gp-user-final .gp-date-badge2 {
  height: 34px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  gap: 7px !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.06) !important;
}
.gp-user-final .gp-date-badge2 .material-symbols-rounded {
  font-size: 15px !important;
}

/* User box : largeur auto, pas de max-width */
#topbar .user-box {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 5px 10px 5px 6px !important;
  background: #f4f5f7 !important;
  border: 1px solid #e9edf3 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}
body.dark #topbar .user-box {
  background: #1a1a1a !important;
  border-color: #2a2a38 !important;
}
#topbar .user-box:hover {
  border-color: var(--gold) !important;
  box-shadow: 0 2px 10px rgba(212,175,55,.2) !important;
}

/* Avatar : fond doré, icône blanche */
#topbar .user-avatar {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background: var(--gold) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* Bloc texte : affiche tout */
#topbar .user-info {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.25 !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  min-width: 0 !important;
}

/* Nom : complet, visible */
#topbar .user-name {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #111 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
  display: block !important;
  line-height: 1.3 !important;
}
body.dark #topbar .user-name { color: #eee !important; }

/* Rôle : complet, visible */
#topbar .user-role {
  font-size: 10.5px !important;
  color: #9ca3af !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
  display: block !important;
  line-height: 1.3 !important;
}

/* Chevron */
#topbar .user-chevron {
  font-size: 16px !important;
  color: #9ca3af !important;
  flex-shrink: 0 !important;
}
#topbar .user-box:hover .user-chevron { color: var(--gold) !important; }

/* ── v29 : positionnement menu = v22 ── */
.menu{margin-top:4px !important;gap:2px !important;flex:1 !important;}
.menu li{padding:4px 8px !important;font-size:11px !important;height:auto !important;min-height:0 !important;gap:7px !important;border-radius:8px !important;margin-bottom:0 !important;line-height:1.2 !important;}

/* ── style-43.css ── */
/* ── v29 FIX : logo fixe + menu visible ── */
#sidebar-logo{height:48px !important;max-height:48px !important;position:relative !important;width:100% !important;}
.sidebar{padding-top:0 !important;display:flex !important;flex-direction:column !important;height:100vh !important;overflow-y:auto !important;box-sizing:border-box !important;}
.sidebar .logo{flex-shrink:0 !important;height:auto !important;min-height:0 !important;max-height:none !important;}
.menu{margin-top:4px !important;gap:2px !important;flex:1 1 auto !important;overflow:visible !important;padding:0 !important;}
.menu li{padding:4px 8px !important;font-size:11px !important;height:auto !important;min-height:0 !important;gap:7px !important;border-radius:8px !important;margin-bottom:0 !important;line-height:1.2 !important;display:flex !important;align-items:center !important;}
.menu li span,.menu li .material-symbols-rounded{font-size:16px !important;}
.menu li.logout{margin-top:auto !important;}

/* ── style-44.css ── */
/* ── v29 SIDEBAR DARK : fond #0a0a0a, texte+icônes or ── */
.sidebar {
  background: #0a0a0a !important;
  border-right: 1px solid #1a1a1a !important;
}

/* Items menu */
.menu li {
  color: var(--gold) !important;
}
.menu li span,
.menu li .material-symbols-rounded {
  color: var(--gold) !important;
}

/* Hover */
.menu li:hover {
  background: rgba(212,175,55,.12) !important;
  color: var(--gold) !important;
}
.menu li:hover span,
.menu li:hover .material-symbols-rounded {
  color: var(--gold) !important;
}

/* Actif */
.menu li.active {
  background: rgba(212,175,55,.18) !important;
  color: var(--gold) !important;
}
.menu li.active span,
.menu li.active .material-symbols-rounded {
  color: var(--gold) !important;
}

/* Déconnexion reste rouge */
.menu li.logout {
  color: #ef4444 !important;
}
.menu li.logout span,
.menu li.logout .material-symbols-rounded {
  color: #ef4444 !important;
}
.menu li.logout:hover {
  background: rgba(220,38,38,.12) !important;
}

/* Séparateur logo */
.sidebar .logo {
  border-bottom-color: #222 !important;
}

/* Logo texte si visible */
.logo-name, .sidebar-logo-name {
  color: var(--gold) !important;
}
.logo-sub {
  color: rgba(212,175,55,.6) !important;
}

/* ── style-45.css ── */
/* ── LOGIN FIXES v3 ── */

/* Logos réduits */
.ln-logo-img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
}
.lb-logo {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  margin-bottom: 10px !important;
}

/* Champs : style v21 original */
.lfield {
  background: rgba(255,255,255,.05) !important;
  border: 1.5px solid rgba(255,255,255,.07) !important;
  border-radius: 14px !important;
}
.lfield:focus-within {
  border-color: rgba(212,175,55,.6) !important;
  background: rgba(212,175,55,.05) !important;
  box-shadow: 0 0 0 4px rgba(212,175,55,.08) !important;
}
.lfield input {
  color: #fff !important;
  background: transparent !important;
}
.lfield input::placeholder {
  color: rgba(255,255,255,.3) !important;
  opacity: 1 !important;
}
.lfield .mat {
  color: var(--gold) !important;
}

/* Signature */
.ln-signature {
  color: rgba(255,255,255,.45) !important;
  font-size: 11px !important;
  letter-spacing: .8px !important;
}
.ln-signature span {
  color: rgba(212,175,55,.75) !important;
  font-weight: 600 !important;
}

/* ── style-46.css ── */
/* Page Dépenses : même style compact que l'autre version, sans débordement */
#page-depenses > div[style*="grid-template-columns:1fr 220px"]{
  grid-template-columns:minmax(0,1fr) 200px!important;
  gap:10px!important;
}
#page-depenses .container,
#page-depenses .payments-card{
  min-width:0!important;
  overflow-x:auto!important;
}
#page-depenses .depenses-table-actions{
  padding:7px!important;
  margin-bottom:9px!important;
  overflow-x:auto!important;
  scrollbar-width:thin!important;
}
#page-depenses .depenses-table-actions > div{
  display:grid!important;
  grid-template-columns:minmax(135px,1fr) minmax(130px,1fr) minmax(115px,.8fr) minmax(150px,1.1fr)!important;
  gap:7px!important;
  width:100%!important;
  align-items:center!important;
}
#page-depenses #dep-filter-type,
#page-depenses #dep-filter-cat,
#page-depenses #dep-filter-mois,
#page-depenses #dep-search{
  width:100%!important;
  min-width:0!important;
  height:30px!important;
}
#page-depenses #dep-search{
  border:1px solid var(--gp-field-border,#e5e7eb)!important;
  background:var(--gp-field-bg,#fff)!important;
  border-radius:var(--gp-field-radius,8px)!important;
  padding:4px 9px!important;
  font-size:11.5px!important;
}
#page-depenses table{
  width:100%!important;
  min-width:760px!important;
  table-layout:auto!important;
}
#page-depenses table th,
#page-depenses table td{
  font-size:11.1px!important;
  padding:7px!important;
  white-space:nowrap!important;
  text-align:center!important;
  vertical-align:middle!important;
}
#page-depenses table td:nth-child(2){text-align:left!important;}
#page-depenses .badge,
#page-depenses .status{
  font-size:10px!important;
  padding:2px 7px!important;
  white-space:nowrap!important;
}
#page-depenses .actions{justify-content:center!important;}

/* Modal Nouvelle dépense : scroll vertical + fermeture par clic extérieur */
#depModal{
  align-items:flex-start!important;
  justify-content:center!important;
  overflow-y:auto!important;
  padding:30px 12px!important;
}
#depModal .row-modal-box,
#depModal > div{
  max-height:calc(100vh - 60px)!important;
  overflow-y:auto!important;
}
@media(max-width:900px){
  #page-depenses > div[style*="grid-template-columns:1fr 220px"]{
    grid-template-columns:1fr!important;
  }
  #page-depenses .depenses-table-actions > div{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:560px){
  #page-depenses .depenses-table-actions > div{
    grid-template-columns:1fr!important;
  }
  #depModal{padding:18px 10px!important;}
  #depModal .row-modal-box,
  #depModal > div{
    width:100%!important;
    max-width:95vw!important;
    max-height:calc(100vh - 36px)!important;
  }
}


/* ===== PATCH FINAL : Paiements/Retards/Dépenses compacts ===== */
#page-paiements #pay-alert-panel{
  padding:5px 7px!important;
  margin-bottom:6px!important;
  border-radius:8px!important;
  border-left-width:2px!important;
  box-shadow:0 1px 4px rgba(0,0,0,.04)!important;
}
#page-paiements #pay-alert-panel .material-symbols-rounded{font-size:14px!important;}
#page-paiements #pay-alert-summary{font-size:9.5px!important;line-height:1.1!important;}
#page-paiements .pay-all-late-btn{
  padding:2px 5px!important;
  font-size:9px!important;
  min-height:20px!important;
  line-height:1!important;
  border-radius:5px!important;
}
#page-paiements #pay-alert-list{gap:3px!important;margin-top:5px!important;}
#page-paiements #pay-alert-list > div{padding:4px 6px!important;font-size:9.5px!important;border-radius:6px!important;}
.pay-alert-pag-btn{border:1px solid #e5e7eb;background:#fff;padding:2px 6px;border-radius:5px;font-size:9.5px;font-weight:700;cursor:pointer;}
.pay-alert-pag-btn:disabled{opacity:.45;cursor:not-allowed;}
.pay-alert-pag-info{font-size:9.5px;color:#6b7280;font-weight:800;align-self:center;padding:0 2px;}

#page-avenir .page-hero{padding:10px 14px!important;margin-bottom:8px!important;border-radius:10px!important;}
#page-avenir .page-hero-icon{width:34px!important;height:34px!important;border-radius:9px!important;}
#page-avenir .page-hero-icon .material-symbols-rounded{font-size:18px!important;}
#page-avenir .page-hero-text h3{font-size:14px!important;margin-bottom:0!important;}
#page-avenir .page-hero-text p{font-size:10.5px!important;line-height:1.2!important;}
#page-avenir .stats{gap:7px!important;margin-bottom:8px!important;}
#page-avenir .stat-card{padding:8px 10px!important;border-radius:8px!important;}
#page-avenir .stat-card p{font-size:10px!important;}
#page-avenir .stat-card h3{font-size:15px!important;margin-top:2px!important;}
#page-avenir #av-alert-banner{padding:6px 9px!important;margin-bottom:8px!important;border-radius:8px!important;font-size:10.5px!important;gap:6px!important;}
#page-avenir .container{padding:10px!important;border-radius:9px!important;}
#page-avenir .container > div:first-child{margin-bottom:7px!important;gap:5px!important;}
#page-avenir .btn,#page-avenir .gp-export-btn{padding:5px 8px!important;font-size:10.5px!important;border-radius:6px!important;}
#page-avenir input[type="search"]{padding:5px 8px!important;font-size:10.5px!important;max-width:170px!important;}
#page-avenir table{font-size:11px!important;}
#page-avenir table th{font-size:9.5px!important;padding:7px 6px!important;}
#page-avenir table td{font-size:10.5px!important;padding:7px 6px!important;}
#page-avenir .badge{font-size:9.5px!important;padding:2px 6px!important;}
#page-avenir .icon-btn{width:26px!important;height:26px!important;}
#page-avenir .icon-btn .material-symbols-rounded{font-size:14px!important;}
#page-avenir #av-footer{font-size:10.5px!important;margin-top:6px!important;}

#depModal{
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
  overflow-y:auto!important;
}
#depModal .dep-modal-card,
#depModal > .card{
  width:360px!important;
  max-width:92vw!important;
  max-height:calc(100vh - 28px)!important;
  overflow-y:auto!important;
  padding:14px!important;
  border-radius:10px!important;
}
#depModal .fgrid{gap:7px!important;}
#depModal .fg{gap:3px!important;}
#depModal .fg label{font-size:9.5px!important;letter-spacing:.2px!important;}
#depModal input,#depModal select{padding:5px 7px!important;font-size:11px!important;border-radius:5px!important;}
#depModal small{font-size:9.5px!important;line-height:1.1!important;}
#depModal .form-actions{margin-top:10px!important;gap:6px!important;}
#depModal .form-actions .btn{padding:6px 10px!important;font-size:11px!important;border-radius:6px!important;}

/* ── style-47.css ── */
.gp-pag-btn{
  height:30px;min-width:30px;padding:0 9px;border-radius:8px;border:1px solid #e5e7eb;
  background:#fff;font-size:11.5px;font-weight:700;color:#374151;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:.15s;
  font-family:inherit;
}
.gp-pag-btn:hover:not(:disabled){background:var(--gold);color:#000;border-color:var(--gold);}
.gp-pag-btn.active{background:var(--gold);color:#000;border-color:var(--gold);}
.gp-pag-btn:disabled{opacity:.38;cursor:not-allowed;}
.gp-pag-info{font-size:10.5px;color:#9ca3af;font-weight:700;padding:0 4px;align-self:center;}
body.dark .gp-pag-btn{background:#1e1e1e;border-color:#2a2a38;color:#ccc;}
body.dark .gp-pag-btn:hover:not(:disabled){background:var(--gold);color:#000;}
body.dark .gp-pag-btn.active{background:var(--gold);color:#000;}

/* ── style-48.css ── */
/* Employés : cartes plus petites dans la liste moderne */
#page-employes #gpEmployesModern .gp-modern-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-bottom:8px!important}
#page-employes #gpEmployesModern .gp-mini-stat{padding:7px 9px!important;min-height:44px!important;border-radius:10px!important}
#page-employes #gpEmployesModern .gp-mini-stat .material-symbols-rounded{font-size:18px!important}
#page-employes #gpEmployesModern .gp-mini-stat strong{font-size:14px!important;line-height:1!important}
#page-employes #gpEmployesModern .gp-mini-stat span{font-size:9.5px!important}
#page-employes #gpEmployesModern .gp-modern-toolbar{padding:7px 8px!important;margin-bottom:8px!important;border-radius:10px!important}
#page-employes #gpEmployesModern .gp-card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:10px!important}
#page-employes #gpEmployesModern .gp-person-card{padding:9px!important;border-radius:12px!important;min-height:auto!important}
#page-employes #gpEmployesModern .gp-person-head{gap:7px!important;margin-bottom:7px!important}
#page-employes #gpEmployesModern .gp-avatar-photo{width:36px!important;height:36px!important;border-radius:10px!important;font-size:12px!important}
#page-employes #gpEmployesModern .gp-person-name{font-size:12px!important;line-height:1.15!important}
#page-employes #gpEmployesModern .gp-person-role{font-size:10px!important;line-height:1.15!important}
#page-employes #gpEmployesModern .gp-status-pill{font-size:9px!important;padding:2px 6px!important}
#page-employes #gpEmployesModern .gp-card-lines{gap:3px!important;margin:6px 0!important}
#page-employes #gpEmployesModern .gp-card-line{font-size:10px!important;gap:4px!important;line-height:1.2!important}
#page-employes #gpEmployesModern .gp-card-line .material-symbols-rounded{font-size:13px!important}
#page-employes #gpEmployesModern .gp-card-actions{gap:4px!important;padding-top:7px!important}
#page-employes #gpEmployesModern .gp-card-actions .icon-btn{width:24px!important;height:24px!important;min-width:24px!important}
#page-employes #gpEmployesModern .gp-card-actions .material-symbols-rounded{font-size:16px!important}

/* ── style-49.css ── */
/* ============================================================
   BARRE DE PROGRESSION TOPBAR
============================================================ */
#gp-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s;
}
#gp-progress-bar.active { opacity: 1; }
#gp-progress-fill {
  height: 100%;
  background: var(--gold, #D4AF37);
  width: 0%;
  transition: width .35s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 0 8px rgba(212,175,55,.6);
  border-radius: 0 2px 2px 0;
}

/* ============================================================
   SKELETON — animation shimmer
============================================================ */
@keyframes gp-shimmer {
  0%   { background-position: -600px 0; }
  100% { background-position: 600px 0; }
}

.gp-sk {
  background: linear-gradient(
    90deg,
    #f0f0f0 25%,
    #e4e4e4 50%,
    #f0f0f0 75%
  );
  background-size: 600px 100%;
  animation: gp-shimmer 1.4s infinite linear;
  border-radius: 6px;
}
body.dark .gp-sk {
  background: linear-gradient(
    90deg,
    #2a2a38 25%,
    #323244 50%,
    #2a2a38 75%
  );
  background-size: 600px 100%;
}

/* ── Conteneur skeleton qui recouvre la page ── */
#gp-skeleton-wrap {
  position: absolute;
  inset: 0;
  z-index: 10;
  background: var(--gray, #f4f5f7);
  padding: 0 0 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s;
}
body.dark #gp-skeleton-wrap { background: #121212; }
#gp-skeleton-wrap.visible {
  opacity: 1;
  pointer-events: all;
}

/* ── Blocs réutilisables ── */
.gp-sk-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.gp-sk-title { width: 180px; height: 22px; }
.gp-sk-btn   { width: 110px; height: 34px; border-radius: 8px; }
.gp-sk-btn-sm{ width: 80px;  height: 28px; border-radius: 8px; }

/* Stat cards row */
.gp-sk-stats {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}
.gp-sk-stats.cols-3 { grid-template-columns: repeat(3,1fr); }
.gp-sk-stats.cols-4 { grid-template-columns: repeat(4,1fr); }
.gp-sk-stat-card {
  background: white;
  border-radius: 10px;
  padding: 14px;
  border-left: 4px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.dark .gp-sk-stat-card { background: #1e1e1e; border-color: #2a2a38; }
.gp-sk-stat-label { height: 12px; width: 60%; }
.gp-sk-stat-value { height: 22px; width: 40%; }

/* Table container */
.gp-sk-container {
  background: white;
  border-radius: 10px;
  padding: 18px;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
  margin-bottom: 12px;
}
body.dark .gp-sk-container { background: #1e1e1e; }
.gp-sk-table-controls {
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
  gap: 8px;
}
.gp-sk-search { height: 32px; width: 180px; border-radius: 6px; }
.gp-sk-select { height: 32px; width: 100px; border-radius: 6px; }

/* Table rows */
.gp-sk-row {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
}
body.dark .gp-sk-row { border-color: #2a2a38; }
.gp-sk-row:last-child { border-bottom: none; }
.gp-sk-avatar { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; }
.gp-sk-cell-lg { height: 13px; flex: 2; }
.gp-sk-cell-md { height: 13px; flex: 1.5; }
.gp-sk-cell-sm { height: 13px; flex: 1; }
.gp-sk-badge   { height: 20px; width: 60px; border-radius: 12px; flex-shrink: 0; }
.gp-sk-actions { display: flex; gap: 6px; flex-shrink: 0; }
.gp-sk-icon    { width: 28px; height: 28px; border-radius: 50%; }

/* Card grid (locataires, biens, propriétaires) */
.gp-sk-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 13px;
  margin-bottom: 12px;
}
.gp-sk-person-card {
  background: white;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 3px 12px rgba(0,0,0,.045);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.dark .gp-sk-person-card { background: #1e1e1e; }
.gp-sk-card-top { display: flex; gap: 12px; align-items: center; }
.gp-sk-card-avatar { width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0; }
.gp-sk-card-name  { height: 14px; flex: 1; }
.gp-sk-card-meta  { height: 11px; width: 70%; }
.gp-sk-card-line  { height: 11px; width: 85%; }
.gp-sk-card-line2 { height: 11px; width: 60%; }

/* Dashboard tiles */
.gp-sk-dash-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}
.gp-sk-dash-tile {
  background: white;
  border-radius: 18px;
  padding: 16px;
  height: 104px;
  box-shadow: 0 8px 22px rgba(20,20,20,.07);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.dark .gp-sk-dash-tile { background: #1e1e1e; }
.gp-sk-tile-top  { height: 14px; width: 50%; }
.gp-sk-tile-num  { height: 34px; width: 35%; align-self: flex-end; }

/* Charts area */
.gp-sk-charts {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.gp-sk-chart-box {
  background: white;
  border-radius: 10px;
  padding: 14px;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
  height: 220px;
}
body.dark .gp-sk-chart-box { background: #1e1e1e; }

/* Responsive */
@media (max-width: 768px) {
  .gp-sk-stats.cols-3 { grid-template-columns: 1fr 1fr; }
  .gp-sk-stats.cols-4 { grid-template-columns: 1fr 1fr; }
  .gp-sk-dash-tiles   { grid-template-columns: 1fr; }
  .gp-sk-charts       { grid-template-columns: 1fr; }
  .gp-sk-card-grid    { grid-template-columns: 1fr; }
}



/* ================================================================
   DARK MODE — CORRECTIONS FINALES (appliquées en dernier)
   Utilise les variables de theme.css — prend la priorité sur tout
================================================================ */
body.dark .topbar {
  background: var(--bg-topbar) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.3) !important;
}
body.dark .sidebar {
  background: var(--bg-sidebar) !important;
  border-right: 1px solid var(--line) !important;
}
body.dark .user-menu {
  background: var(--bg-card) !important;
  border-color: var(--line) !important;
}
body.dark .user-menu div.menu-item {
  color: var(--text-muted) !important;
}
body.dark .user-menu div.menu-item:hover {
  background: var(--bg-hover) !important;
  color: var(--text) !important;
}
body.dark .menu li {
  color: var(--text-muted) !important;
}
body.dark .menu li:hover {
  background: var(--bg-hover) !important;
  color: var(--text) !important;
}
body.dark .menu li.active {
  background: rgba(212,175,55,.15) !important;
  color: var(--gold) !important;
}
body.dark .menu li.active span,
body.dark .menu li.active .material-symbols-rounded {
  color: var(--gold) !important;
}
body.dark .logo-name,
body.dark .sidebar-logo-name {
  color: var(--gold) !important;
}
body.dark .logo-sub {
  color: rgba(212,175,55,.6) !important;
}
body.dark .tb-icon-btn {
  background: #1e1e2e !important;
  color: #c9cdd6 !important;
  border-color: #2a2a38 !important;
}
body.dark .tb-icon-btn:hover {
  background: var(--gold) !important;
  color: #000 !important;
  border-color: var(--gold) !important;
  box-shadow: 0 2px 8px var(--gold-shadow) !important;
}
body.dark .tb-sep {
  background: #2a2a38 !important;
}
body.dark .tb-notif-dot {
  border-color: #1e1e2e !important;
}

/* ================================================================
   UTILITY CLASSES — Remplacent les style="" inline répétitifs
================================================================ */

/* Flex helpers */
.u-flex         { display: flex; }
.u-flex-center  { display: flex; align-items: center; }
.u-flex-between { display: flex; align-items: center; justify-content: space-between; }
.u-gap-4        { gap: 4px; }
.u-gap-7        { gap: 7px; }
.u-gap-8        { gap: 8px; }
.u-gap-10       { gap: 10px; }
.u-gap-12       { gap: 12px; }

/* Display */
.u-hidden  { display: none; }

/* Icon sizes */
.u-icon-12 { font-size: 12px; }
.u-icon-14 { font-size: 14px; }
.u-icon-15 { font-size: 15px; }
.u-icon-16 { font-size: 16px; }
.u-icon-18 { font-size: 18px; }

/* Icon colors */
.u-icon-muted   { color: #9ca3af; }
.u-icon-danger  { color: #dc2626; }
.u-icon-success { color: #16a34a; }
.u-icon-gold    { color: var(--gold); }

/* Modals / dropdowns inner headings */
.u-modal-section-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
body.dark .u-modal-section-title {
  color: var(--text);
  border-bottom-color: var(--line);
}

/* Tab button (used in filter bars) */
.u-tab-btn {
  padding: 12px 18px 11px;
  font-size: 13px;
  font-weight: 500;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  color: var(--text-muted);
  white-space: nowrap;
  transition: .15s;
}
.u-tab-btn.active,
.u-tab-btn:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* Avatar mini (utilisé dans modales et listes) */
.u-avatar-mini {
  width: 28px;
  height: 28px;
  background: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  color: #000;
  flex-shrink: 0;
}

/* Section header with gold underline */
.u-section-label {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text);
  border-bottom: 2px solid var(--gold);
  flex: 1;
  padding-bottom: 4px;
}

/* Dropdown popup (topbarSearchDrop etc.) */
.u-dropdown-popup {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--bg-card);
  border-radius: 12px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--line);
  overflow: hidden;
  z-index: 9999;
}
body.dark .u-dropdown-popup {
  background: var(--bg-card);
  border-color: var(--line);
}

/* Relative wrapper (position:relative pour dropdown anchors) */
.u-rel { position: relative; }

/* === CORRECTIFS FINAUX === */
/* Espace sous titres sections paramètres */
.content .cfg-section-title {
  margin: 0 0 20px 0 !important;
}
/* Tagline mode nuit page paramètres */
body.dark .cfg-logo-tagline {
  color: #9ca3af !important;
}

/* Breadcrumb topbar — fond transparent pour fondre dans la topbar */
.topbar .breadcrumb-box {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}


/* ============================================================
   CORRECTIFS PRODUCTION — responsive & validation
============================================================ */
.gp-field-error{border-color:#E24B4A!important;box-shadow:0 0 0 2px rgba(226,75,74,.15)!important;}
@media (max-width: 768px){
  input,select,textarea,button{min-height:44px;font-size:16px;}
  .sidebar{position:fixed;left:-260px;transition:left .25s ease;z-index:200;}
  .sidebar.open,.sidebar.is-open{left:0;}
  .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:199;}
  .sidebar-overlay.active{display:block;}
}
@media (max-width: 640px){
  .gp-table-wrap,.table-wrap,.data-table-wrap,.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
  table{min-width:640px;}
  .actions .icon-btn{padding:4px;}
  .tbl-col-secondary{display:none;}
}


/* === Genius Property V6 modular guards === */
.gp-field-error{border-color:#E24B4A!important;box-shadow:0 0 0 2px rgba(226,75,74,.14)!important;}
.gp-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media (max-width:768px){
  input,select,textarea,button{min-height:44px;font-size:16px;}
  .sidebar,.app-sidebar{position:fixed;left:-280px;top:0;bottom:0;z-index:200;transition:left .25s ease;}
  .sidebar.open,.app-sidebar.open{left:0;}
  .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:199;}
  .sidebar-overlay.active{display:block;}
}


/* V28 — permissions UI */
.gp-disabled-by-role{opacity:.45;cursor:not-allowed;filter:grayscale(1)}
#gp-auth-session-badge{white-space:nowrap}
