/* Couche « application » : claire, lisible, coins adoucis.
   Commune à l'espace propriétaire et au back office, chargée en dernier.
   Garde les couleurs de la charte (vert, or, crème) en version douce. */
:root{
  --ap-fond:#EDE8DE; --ap-carte:#FAF8F3; --ap-ligne:#E2DBCC; --ap-ligne2:#E9E3D7; --ap-creux:#F1ECE2;
  --ap-texte:#17241C; --ap-doux:#6B756D; --ap-pale:#9AA39B;
  --ap-vert:#1F3A2B; --ap-vert2:#2D5240; --ap-vert-doux:#E9F0EA; --ap-vert-pale:#F2F6F2;
  --ap-or:#B8924F; --ap-or-fonce:#8F6F36; --ap-or-doux:#F7F0E1;
  --ap-rouge:#B5483F; --ap-rouge-doux:#FBEDEB; --ap-ok:#2F7A52; --ap-ok-doux:#E8F4EC;
  --ap-r:20px; --ap-r2:14px; --ap-r3:10px;
  --ap-ombre:0 1px 2px rgba(23,36,28,.04),0 8px 24px rgba(23,36,28,.055);
  --ap-ombre2:0 2px 6px rgba(23,36,28,.06),0 18px 40px rgba(23,36,28,.10);
  --ap-titre:"Playfair Display",Georgia,serif;
  --ap-ui:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
html :is(body.interface-owner,body.interface-admin){background:var(--ap-fond)!important;color:var(--ap-texte)!important;font-family:var(--ap-ui)!important;font-size:14.5px;letter-spacing:0;-webkit-font-smoothing:antialiased}
html body.interface-admin{font-size:14px}

/* ---------- Typographie ---------- */
html :is(body.interface-owner,body.interface-admin) :is(.sec-h h2,.head h2){font-family:var(--ap-titre)!important;font-weight:600!important;font-size:30px!important;letter-spacing:-.01em!important;line-height:1.15!important;color:var(--ap-texte)!important}
html :is(body.interface-owner,body.interface-admin) :is(.sec-h h2,.head h2)::before{display:none!important}
html :is(body.interface-owner,body.interface-admin) :is(.card-h h3,.card h3,.cta h3,.modal h3){font-family:var(--ap-ui)!important;font-weight:600!important;font-size:16.5px!important;letter-spacing:-.005em!important;color:var(--ap-texte)!important}
html :is(body.interface-owner,body.interface-admin) :is(.label,.kpi .label,.kpi .k,th,.forts .titre,.cmp-choix,.property-picker label,.champ label){font-family:var(--ap-ui)!important;font-weight:500!important;font-size:12.5px!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-doux)!important}
html :is(body.interface-owner,body.interface-admin) .mono{font-family:var(--ap-ui)!important;font-variant-numeric:tabular-nums}

/* ---------- Cartes ---------- */
html :is(body.interface-owner,body.interface-admin) :is(.card,.cal-corps,.cal-liste,.property-picker,.alerte,.axe-carte){background:var(--ap-carte)!important;border:1px solid var(--ap-ligne2)!important;border-radius:var(--ap-r)!important;box-shadow:var(--ap-ombre)!important;overflow:hidden}
html :is(body.interface-owner,body.interface-admin) .card-h{background:transparent!important;border-bottom:1px solid var(--ap-ligne2)!important;padding:16px 20px!important}
html body.interface-owner :is(#calendrier,#revenus,#intendance,#axes,#avis,#espace){background:transparent!important;border:0!important;box-shadow:none!important}
html :is(body.interface-owner,body.interface-admin) .note{background:var(--ap-vert-pale)!important;border:0!important;border-radius:var(--ap-r2)!important;color:var(--ap-doux)!important;padding:12px 14px!important}

/* ---------- Chiffres clés ---------- */
html :is(body.interface-owner,body.interface-admin) .kpis{gap:12px!important}
html :is(body.interface-owner,body.interface-admin) .kpi{background:var(--ap-carte)!important;border:1px solid var(--ap-ligne2)!important;border-radius:var(--ap-r)!important;box-shadow:var(--ap-ombre)!important;padding:18px 20px!important}
html :is(body.interface-owner,body.interface-admin) .kpi .v{font-family:var(--ap-ui)!important;font-weight:600!important;font-size:28px!important;letter-spacing:-.02em!important;color:var(--ap-texte)!important;font-variant-numeric:tabular-nums}
html :is(body.interface-owner,body.interface-admin) .kpi .v small{font-size:14px!important;font-weight:500!important;color:var(--ap-doux)!important}
html :is(body.interface-owner,body.interface-admin) .kpi :is(.d,.d a){font-size:12.5px!important;color:var(--ap-doux)!important}
html :is(body.interface-owner,body.interface-admin) :is(.kpi-revenu,.kpis .kpi:first-child){background:linear-gradient(150deg,#24452F 0%,#1A3324 100%)!important;border-color:transparent!important;box-shadow:0 10px 28px rgba(31,58,43,.22)!important}
html :is(body.interface-owner,body.interface-admin) :is(.kpi-revenu,.kpis .kpi:first-child) .v{color:#fff!important}
html :is(body.interface-owner,body.interface-admin) :is(.kpi-revenu,.kpis .kpi:first-child) :is(.label,.k){color:#E6CF9F!important}
html :is(body.interface-owner,body.interface-admin) :is(.kpi-revenu,.kpis .kpi:first-child) :is(.d,.d *){color:rgba(255,255,255,.72)!important}

/* ---------- Boutons ---------- */
html :is(body.interface-owner,body.interface-admin) .btn{background:var(--ap-vert)!important;border:0!important;color:#fff!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(23,36,28,.12)!important;
  font:600 14px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;padding:12px 18px!important;min-height:44px;transition:background .15s,transform .1s}
html :is(body.interface-owner,body.interface-admin) .btn:hover{background:var(--ap-vert2)!important}
html :is(body.interface-owner,body.interface-admin) .btn:active{transform:scale(.98)}
html :is(body.interface-owner,body.interface-admin) :is(.btn.ghost,.more){background:var(--ap-carte)!important;color:var(--ap-texte)!important;border:1px solid var(--ap-ligne)!important;box-shadow:none!important;border-radius:12px!important;
  font:600 14px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important}
html :is(body.interface-owner,body.interface-admin) :is(.btn.ghost,.more):hover{background:var(--ap-vert-pale)!important;color:var(--ap-vert)!important;border-color:#D8E3DA!important}
html :is(body.interface-owner,body.interface-admin) .btn.sm{padding:8px 13px!important;font-size:13px!important;min-height:36px;border-radius:10px!important}
html body.interface-admin .btn.stop{background:var(--ap-rouge-doux)!important;color:var(--ap-rouge)!important;box-shadow:none!important}
html body.interface-admin .btn.stop:hover{background:var(--ap-rouge)!important;color:#fff!important}
html :is(body.interface-owner,body.interface-admin) .pill{border-radius:999px!important;font:600 12px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;padding:4px 10px!important}
html :is(body.interface-owner,body.interface-admin) .pill.warn{background:var(--ap-or-doux)!important;color:var(--ap-or-fonce)!important;border:0!important}

/* ---------- Champs ---------- */
html :is(body.interface-owner,body.interface-admin) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:12px!important;border:1px solid var(--ap-ligne)!important;background:var(--ap-carte)!important;font-family:var(--ap-ui)!important;font-size:15px!important;color:var(--ap-texte)!important;min-height:44px;letter-spacing:0!important;text-transform:none!important}
html :is(body.interface-owner,body.interface-admin) :is(input,select,textarea):focus{border-color:var(--ap-vert2)!important;box-shadow:0 0 0 4px rgba(45,82,64,.12)!important;outline:0}
html body.interface-owner .espace-carte :is(input:not([type=checkbox]),select),html body.interface-owner #espace :is(input:not([type=checkbox]),select){background:var(--ap-fond)!important;border-color:transparent!important}

/* ---------- Contrôles segmentés ---------- */
html :is(body.interface-owner,body.interface-admin) :is(.calnav,.views,.years){background:#ECE8DF!important;border:0!important;border-radius:12px!important;padding:3px!important;gap:2px!important;box-shadow:none!important}
html :is(body.interface-owner,body.interface-admin) :is(.calnav,.views,.years) button{border:0!important;border-radius:9px!important;background:transparent!important;color:var(--ap-doux)!important;font:600 13px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;min-height:36px;padding:0 14px!important}
html :is(body.interface-owner,body.interface-admin) :is(.views,.years) button.on{background:var(--ap-carte)!important;color:var(--ap-texte)!important;box-shadow:0 1px 3px rgba(23,36,28,.12)!important}
html body.interface-owner [data-r]{border-radius:999px!important;background:var(--ap-carte)!important;border:1px solid var(--ap-ligne)!important;color:var(--ap-texte)!important;font:600 13px var(--ap-ui)!important;letter-spacing:0!important;padding:8px 14px!important}
html body.interface-owner :is([data-r].on,[data-r][aria-pressed=true]){background:var(--ap-vert)!important;color:#fff!important;border-color:var(--ap-vert)!important}

/* ---------- Tableaux ---------- */
html :is(body.interface-owner,body.interface-admin) table td{border-color:var(--ap-ligne2)!important}
html :is(body.interface-owner,body.interface-admin) tr:hover td{background:var(--ap-vert-pale)}

/* ---------- Fenêtres ---------- */
html :is(body.interface-owner,body.interface-admin) :is(.modal,.voile .fiche,.fiche){border-radius:24px!important;box-shadow:var(--ap-ombre2)!important;border:0!important}

/* =====================================================================
   ESPACE PROPRIÉTAIRE
   ===================================================================== */
html body.interface-owner .appbar{background:var(--ap-fond)!important;-webkit-backdrop-filter:none;border-bottom:1px solid transparent!important;box-shadow:none!important}
html body.interface-owner .brandline .mark{font:600 15px var(--ap-ui)!important;letter-spacing:.34em!important;color:var(--ap-vert)!important}
html body.interface-owner .compte-btn{width:40px;height:40px;border-radius:50%!important;background:var(--ap-vert)!important;border:0!important;color:#fff!important;font:600 13px var(--ap-ui)!important;letter-spacing:.02em!important;box-shadow:0 2px 8px rgba(31,58,43,.25)}
html body.interface-owner .compte-btn:hover,html body.interface-owner .compte-btn[aria-expanded=true]{background:var(--ap-vert2)!important;color:#fff!important}
html body.interface-owner .compte-pan{border-radius:18px!important;border:1px solid var(--ap-ligne2)!important;box-shadow:var(--ap-ombre2)!important;padding:8px!important}
html body.interface-owner .compte-pan > :not(.compte-id){border-radius:10px!important;font:500 14px var(--ap-ui)!important}
html body.interface-owner .compte-id b{font:600 15px var(--ap-ui)!important}
html body.interface-owner .page-titre small{font:500 12px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-doux)!important}
html body.interface-owner .page-titre b{font:600 21px var(--ap-titre)!important;color:var(--ap-texte)!important}

/* Menu latéral clair (ordinateur) */
html body.interface-owner .jump{background:var(--ap-carte)!important;border-right:1px solid var(--ap-ligne2)!important;box-shadow:none!important}
html body.interface-owner .jump::before{color:var(--ap-vert)!important;font:600 15px var(--ap-ui)!important;letter-spacing:.34em!important}
html body.interface-owner .jump a{color:var(--ap-doux)!important;font:500 14px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;border-radius:12px!important;display:flex!important;align-items:center;gap:12px}
html body.interface-owner .jump a:hover{background:var(--ap-vert-pale)!important;color:var(--ap-texte)!important}
html body.interface-owner :is(.jump a[aria-current],.jump a.on){background:var(--ap-vert-doux)!important;color:var(--ap-vert)!important;box-shadow:none!important;font-weight:600!important}
html body.interface-owner .jump .nav-symbol{display:inline-flex;opacity:1!important;font-size:0!important}
html body.interface-owner .jump .nav-symbol svg{width:21px;height:21px}
html body.interface-owner .nav-close{border-color:var(--ap-ligne)!important;color:var(--ap-texte)!important;border-radius:12px!important}

/* Barre d'onglets en bas (téléphone et tablette) */
html body.interface-owner .tabbar{display:none}
@media(max-width:1119px){
  html body.interface-owner .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;justify-content:space-around;align-items:stretch;
    background:rgba(250,248,243,.9);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-top:1px solid var(--ap-ligne2);box-shadow:0 -6px 24px rgba(23,36,28,.06);
    padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  html body.interface-owner .tabbar:empty{display:none}
  html body.interface-owner .tabbar a{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:14px;color:var(--ap-pale);text-decoration:none;font:600 10.5px var(--ap-ui);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;transition:color .15s}
  html body.interface-owner .tabbar a .tb-i{display:flex;align-items:center;justify-content:center;width:52px;height:30px;border-radius:999px;transition:background .2s}
  html body.interface-owner .tabbar a .tb-i svg{width:22px;height:22px}
  html body.interface-owner .tabbar a.on{color:var(--ap-vert)}
  html body.interface-owner .tabbar a.on .tb-i{background:var(--ap-vert-doux)}
  html body.interface-owner .tabbar a.on .tb-i svg{stroke-width:2}
  html body.interface-owner main{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
  html body.interface-owner .foot{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
  html body.interface-owner .nav-toggle{display:none!important}
  html body.interface-owner .jump{display:none!important}
  html body.interface-owner .brandline .mark{display:block!important}
  html body.interface-owner .selbar{bottom:calc(76px + env(safe-area-inset-bottom))!important}
}

/* Bandeau du bien */
html body.interface-owner .hero2{border-radius:24px!important;box-shadow:var(--ap-ombre2)!important;overflow:hidden}
html body.interface-owner .hero2 .veil2{background:linear-gradient(180deg,rgba(10,20,14,0) 25%,rgba(10,20,14,.78))!important}
html body.interface-owner .hero2 .eyebrow2{font:600 12px var(--ap-ui)!important;letter-spacing:.04em!important;text-transform:none!important;color:#EAD7AE!important}
html body.interface-owner .hero2 h1{font-family:var(--ap-titre)!important;font-weight:600!important;color:#fff!important}
html body.interface-owner .hero2 .m{font:500 14px var(--ap-ui)!important;color:rgba(255,255,255,.88)!important}
html body.interface-owner .hero2 .m b{color:#EAD7AE!important}
html body.interface-owner .hero2 .link{border-radius:999px!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.35)!important;color:#fff!important;
  font:600 13px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html body.interface-owner .property-picker{padding:14px!important}

/* Bandeau « Besoin de votre bien » */
html body.interface-owner .cta{background:linear-gradient(135deg,#FBF6EA,#F6EEDB)!important;border:0!important;border-radius:var(--ap-r)!important;box-shadow:none!important}
html body.interface-owner .cta h3{font-family:var(--ap-titre)!important;font-size:21px!important}
html body.interface-owner .cta p{color:var(--ap-doux)!important;font-size:14px!important}

/* Calendrier */
html body.interface-owner .sc-t{font:600 18px var(--ap-ui)!important}
html :is(body.interface-owner,body.interface-admin) .sc-j.auj .sc-n{background:var(--ap-vert)!important;color:#fff!important;border-radius:999px}
html body.interface-owner .selbar{background:var(--ap-vert)!important;border:0!important;border-radius:22px!important;box-shadow:0 16px 40px rgba(23,36,28,.28)!important}
html body.interface-owner .selbar .big{font-family:var(--ap-ui)!important;font-weight:600!important}
html body.interface-owner .selbar .btn{background:var(--ap-carte)!important;color:var(--ap-vert)!important}
html body.interface-owner .selbar .btn.ghost{background:rgba(255,255,255,.12)!important;color:#fff!important;border:0!important}
html body.interface-owner .selbar .sub.manque{color:#EAD7AE!important}
html body.interface-owner .sejour{background:transparent!important;border-bottom:1px solid var(--ap-ligne2)!important}
html body.interface-owner .sejour .quand b{font:600 15px var(--ap-ui)!important}

/* Revenus et avis */
html body.interface-owner .revenue-chart .chart-totals strong{font-family:var(--ap-ui)!important;font-weight:600!important;letter-spacing:-.02em}
html body.interface-owner .cmp-an b.hausse{color:var(--ap-ok)}html body.interface-owner .cmp-an b.baisse{color:var(--ap-rouge)}
html body.interface-owner .filtres select{border-radius:12px!important;font:600 13px var(--ap-ui)!important;text-transform:none!important;letter-spacing:0!important;background:var(--ap-carte)!important}
html body.interface-owner .review .who{font:600 15px var(--ap-ui)!important}
html body.interface-owner .rp-carte .rp-total b,html body.interface-owner .rp-centre b{font-family:var(--ap-titre)}

/* Mon espace : onglets en pastilles */
html body.interface-owner .espace-tabs{background:#ECE8DF!important;border:0!important;border-radius:14px!important;padding:4px!important;gap:3px!important}
html body.interface-owner .espace-tabs button{border:0!important;border-radius:11px!important;background:transparent!important;color:var(--ap-doux)!important;font:600 13.5px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;padding:10px 8px!important;margin:0!important;box-shadow:none!important}
html body.interface-owner .espace-tabs [aria-selected=true]{background:var(--ap-carte)!important;color:var(--ap-texte)!important;box-shadow:0 1px 3px rgba(23,36,28,.12)!important}
html body.interface-owner .ajout-interv summary{font:600 14px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important}
html body.interface-owner .pref-case input{accent-color:var(--ap-vert)}
html body.interface-owner .foot{border-top:0!important;color:var(--ap-pale)!important}
html body.interface-owner .foot a{color:var(--ap-vert)!important}
@media(max-width:700px){
  html body.interface-owner .sec-h h2{font-size:26px!important}
  html body.interface-owner .kpi .v{font-size:25px!important}
  html body.interface-owner .kpis{display:grid!important;grid-template-columns:1fr 1fr!important}
  html body.interface-owner .kpis .kpi-revenu{grid-column:1 / -1}
  html body.interface-owner .kpis .kpi:not(.kpi-revenu){grid-column:auto!important;min-width:0}
  html body.interface-owner .kpis .kpi:not(.kpi-revenu) .v{font-size:21px!important}
  html body.interface-owner .kpi{padding:16px!important}
  html body.interface-owner .espace-tabs{display:grid!important;grid-template-columns:1fr 1fr!important}
  html body.interface-owner .hero2{border-radius:22px!important}
}

/* =====================================================================
   BACK OFFICE
   ===================================================================== */
html body.interface-admin .bar{background:var(--ap-fond)!important;border-bottom:1px solid transparent!important;box-shadow:none!important}
html body.interface-admin .workspace-label{font:600 13px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-doux)!important}
html body.interface-admin :is(.bar-in > button,.bar-codes,.wg-lanceur,.wa-lanceur,.bar-back){background:var(--ap-carte)!important;color:var(--ap-texte)!important;border:1px solid var(--ap-ligne)!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(23,36,28,.04)!important;
  font:600 13px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;padding:9px 14px!important;min-height:40px}
html body.interface-admin :is(.bar-in > button,.bar-codes,.wg-lanceur,.wa-lanceur):hover{background:var(--ap-vert-pale)!important;color:var(--ap-vert)!important;border-color:#D8E3DA!important}
html body.interface-admin .bar-codes{background:var(--ap-vert)!important;color:#fff!important;border-color:var(--ap-vert)!important}
html body.interface-admin .bar-codes:hover{background:var(--ap-vert2)!important;color:#fff!important}
html body.interface-admin .bar-back{background:var(--ap-vert)!important;color:#fff!important;border-color:var(--ap-vert)!important}
html body.interface-admin .nav-toggle{background:var(--ap-carte)!important;border:1px solid var(--ap-ligne)!important;color:var(--ap-texte)!important;border-radius:12px!important;font:600 13px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important}

/* Menu latéral clair */
html body.interface-admin .gestion-sidebar{background:var(--ap-carte)!important;color:var(--ap-texte)!important;border-right:1px solid var(--ap-ligne2)!important;box-shadow:none!important}
html body.interface-admin .sidebar-brand .mark{font:600 15px var(--ap-ui)!important;letter-spacing:.34em!important;color:var(--ap-vert)!important}
html body.interface-admin .sidebar-brand>span:last-child{font:500 12px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-doux)!important}
html body.interface-admin .territory-picker{font:500 12px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-doux)!important}
html body.interface-admin .territory-picker select{background:var(--ap-fond)!important;color:var(--ap-texte)!important;border:0!important;border-radius:12px!important;font:600 14px var(--ap-ui)!important}
html body.interface-admin .nav-label{font:600 12px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-pale)!important;display:flex!important;align-items:center;gap:10px;border-radius:10px}
html body.interface-admin :is(.tabs button,.nav-group a){color:var(--ap-doux)!important;font:500 14px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important;border-radius:12px!important;display:flex!important;align-items:center;gap:12px;min-height:42px!important;padding:9px 12px!important}
html body.interface-admin :is(.tabs button,.nav-group a):hover{background:var(--ap-vert-pale)!important;color:var(--ap-texte)!important}
html body.interface-admin .tabs button.on{background:var(--ap-vert-doux)!important;color:var(--ap-vert)!important;box-shadow:none!important;font-weight:600!important}
html body.interface-admin .tabs .nav-symbol{display:inline-flex!important;font-size:0!important;color:inherit!important;flex:0 0 auto}
html body.interface-admin .tabs .nav-symbol svg{width:20px;height:20px}
html body.interface-admin .nav-label .nav-symbol svg{width:16px;height:16px}
html body.interface-admin .nav-ext .ext{margin-left:auto;display:inline-flex;opacity:.55}
html body.interface-admin .nav-ext .ext svg{width:14px;height:14px}
html body.interface-admin .tabs .n{background:var(--ap-or)!important;color:#fff!important;border-radius:999px!important;font:600 11px var(--ap-ui)!important;margin-left:auto}
html body.interface-admin .gestion-sidebar .who{color:var(--ap-doux)!important}
html body.interface-admin .gestion-sidebar .sortir{background:var(--ap-fond)!important;border:0!important;color:var(--ap-texte)!important;border-radius:12px!important;font:600 13px var(--ap-ui)!important;letter-spacing:0!important;text-transform:none!important}
html body.interface-admin .gestion-sidebar .nav-close{border-color:var(--ap-ligne)!important;color:var(--ap-texte)!important;border-radius:12px!important}

/* Menu replié : icônes seules */
html body.interface-admin.nav-collapsed .sidebar-brand .mark{font-size:0!important;letter-spacing:0!important}
html body.interface-admin.nav-collapsed .sidebar-brand .mark::before{content:none!important}
html body.interface-admin.nav-collapsed .sidebar-brand .mark::after{content:'W'!important;font:600 20px var(--ap-titre)!important;color:var(--ap-vert)!important;letter-spacing:0!important}
html body.interface-admin.nav-collapsed :is(.tabs button,.nav-group a){justify-content:center!important;padding:10px!important;font-size:0!important}
html body.interface-admin.nav-collapsed .nav-group a::after{content:none!important}
html body.interface-admin.nav-collapsed :is(.nav-text,.nav-ext .ext){display:none!important}
html body.interface-admin.nav-collapsed .nav-label{justify-content:center!important}
html body.interface-admin.nav-collapsed .tabs .n{position:absolute;top:4px;right:6px;font-size:9px!important;padding:1px 5px!important}
html body.interface-admin.nav-collapsed .tabs button{position:relative}

/* Titres de page */
html body.interface-admin .head{border-bottom:0!important}
html body.interface-admin .req{border-color:var(--ap-ligne2)!important}
html body.interface-admin .req .when{font:600 15px var(--ap-ui)!important}
html body.interface-admin .cal-bien{border-radius:12px!important}
html body.interface-admin .cal-bien.on{box-shadow:none!important;background:var(--ap-vert-doux)!important}
html body.interface-admin .cal-entete h3{font-family:var(--ap-titre)!important;font-size:22px!important}
html body.interface-admin .cal-taux b{font-family:var(--ap-ui)!important;font-weight:600}
html body.interface-admin .sc-t{font:600 17px var(--ap-ui)!important}
html body.interface-admin .alerte.info{background:var(--ap-vert-pale)!important}
html body.interface-admin .card > .empty{background:transparent!important;color:var(--ap-doux)!important}
html body.interface-admin .chart-totals strong{font-family:var(--ap-ui)!important;font-weight:600!important}
html body.interface-admin .nav-group>div{border-left:0!important;margin-left:0!important;padding-left:0!important}
html body.interface-admin main .card + .card{margin-top:14px}
html body.interface-admin main .duo > .card{margin-top:0!important;margin-bottom:0!important}

/* =====================================================================
   COULEURS DIFFÉRENCIANTES
   Une teinte par domaine, déclinée en pastille claire et en couleur pleine.
   ===================================================================== */
:root{
  --c-vert:#2F6B4F;  --c-vert-f:#E4F0E8;
  --c-or:#A9803C;    --c-or-f:#F6ECD8;
  --c-bleu:#36658C;  --c-bleu-f:#E3EDF6;
  --c-terre:#B05E43; --c-terre-f:#F8E7E0;
  --c-prune:#76507A; --c-prune-f:#F1E6F1;
}
/* Pastilles d'icônes dans les menus */
html :is(body.interface-owner,body.interface-admin) :is(.jump a,.tabs button,.nav-group a) .nav-symbol{width:32px;height:32px;border-radius:10px;align-items:center;justify-content:center;background:var(--k-f,#F0EEE8);color:var(--k,var(--ap-doux))!important;transition:background .15s,color .15s}
html :is(body.interface-owner,body.interface-admin) :is(.jump a,.tabs button,.nav-group a) .nav-symbol svg{width:18px!important;height:18px!important}
html :is(body.interface-owner,body.interface-admin) :is(.jump a.on,.jump a[aria-current],.tabs button.on) .nav-symbol{background:var(--k);color:#fff!important}
html :is(body.interface-owner,body.interface-admin) :is(.jump a.on,.jump a[aria-current],.tabs button.on){background:var(--k-f)!important;color:var(--k)!important}
html body.interface-admin .nav-group:nth-of-type(1){--k:var(--c-vert);--k-f:var(--c-vert-f)}
html body.interface-admin .nav-group:nth-of-type(2){--k:var(--c-or);--k-f:var(--c-or-f)}
html body.interface-admin .nav-group:nth-of-type(3){--k:var(--c-terre);--k-f:var(--c-terre-f)}
html body.interface-admin .nav-group:nth-of-type(4){--k:var(--c-bleu);--k-f:var(--c-bleu-f)}
html body.interface-admin .nav-label .nav-symbol{color:var(--k)!important}
html body.interface-admin .nav-label{color:var(--k)!important;opacity:.9}
html body.interface-admin .nav-ext[href*="shortrental"]{--k:var(--c-prune);--k-f:var(--c-prune-f)}
html body.interface-admin.nav-collapsed :is(.tabs button,.nav-group a){padding:6px!important}

/* Une couleur par page côté propriétaire */
html body.interface-owner [data-page="calendrier"]{--k:var(--c-vert);--k-f:var(--c-vert-f)}
html body.interface-owner [data-page="revenus"]{--k:var(--c-or);--k-f:var(--c-or-f)}
html body.interface-owner [data-page="avis"]{--k:var(--c-terre);--k-f:var(--c-terre-f)}
html body.interface-owner [data-page="intendance"]{--k:var(--c-bleu);--k-f:var(--c-bleu-f)}
html body.interface-owner [data-page="espace"]{--k:var(--c-prune);--k-f:var(--c-prune-f)}
html body.interface-owner .jump a .nav-symbol{background:transparent;color:var(--ap-pale)!important}
html body.interface-owner .jump a{justify-content:center}
@media(max-width:1119px){
  html body.interface-owner .tabbar a.on{color:var(--k)}
  html body.interface-owner .tabbar a.on .tb-i{background:var(--k-f)}
}

/* Chiffres clés : une teinte par carte */
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:not(:first-child):not(.kpi-revenu){position:relative}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:not(:first-child):not(.kpi-revenu)::before{content:'';position:absolute;top:16px;right:16px;width:10px;height:10px;border-radius:50%;background:var(--k);box-shadow:0 0 0 5px var(--k-f)}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:nth-child(2){--k:var(--c-bleu);--k-f:var(--c-bleu-f);background:var(--c-bleu-f)!important;border-color:transparent!important}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:nth-child(3){--k:var(--c-or);--k-f:var(--c-or-f);background:var(--c-or-f)!important;border-color:transparent!important}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:nth-child(4){--k:var(--c-terre);--k-f:var(--c-terre-f);background:var(--c-terre-f)!important;border-color:transparent!important}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:nth-child(5){--k:var(--c-prune);--k-f:var(--c-prune-f);background:var(--c-prune-f)!important;border-color:transparent!important}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:not(:first-child):not(.kpi-revenu) :is(.label,.k){color:var(--k)!important;font-weight:600!important}

/* Pastilles d'état */
html :is(body.interface-owner,body.interface-admin) .pill{background:var(--c-bleu-f);color:var(--c-bleu);border:0!important}
html :is(body.interface-owner,body.interface-admin) :is(.pill.ok,.pill.good,.pill.vert){background:var(--c-vert-f)!important;color:var(--c-vert)!important}
html :is(body.interface-owner,body.interface-admin) :is(.pill.bad,.pill.stop,.pill.danger){background:var(--ap-rouge-doux)!important;color:var(--ap-rouge)!important}
html body.interface-admin .tabs .n{background:var(--k)!important}

/* Bandeaux colorés discrets */
html body.interface-owner .cta{background:linear-gradient(135deg,var(--c-or-f),#FBF5E9)!important}
html :is(body.interface-owner,body.interface-admin) .note{background:var(--c-bleu-f)!important;color:#3B5670!important}
html body.interface-admin .alerte.info{background:var(--c-bleu-f)!important}
html :is(body.interface-owner,body.interface-admin) .card-h h3::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--k,var(--c-vert));margin-right:10px;vertical-align:2px}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:not(:first-child):not(.kpi-revenu)::before{display:none}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:not(:first-child):not(.kpi-revenu) :is(.label,.k,.l,.t,small+div){color:var(--k)!important}
html body.interface-owner #calendrier{--k:var(--c-vert);--k-f:var(--c-vert-f)}
html body.interface-owner #revenus,html body.interface-owner #versements{--k:var(--c-or);--k-f:var(--c-or-f)}
html body.interface-owner #avis,html body.interface-owner #axes{--k:var(--c-terre);--k-f:var(--c-terre-f)}
html body.interface-owner #intendance{--k:var(--c-bleu);--k-f:var(--c-bleu-f)}
html body.interface-owner #espace{--k:var(--c-prune);--k-f:var(--c-prune-f)}
html :is(body.interface-owner,body.interface-admin) :is(.sec-h h2,.head h2)::before{display:block!important;content:''!important;width:30px!important;height:4px!important;border-radius:4px;background:var(--k,var(--c-vert))!important;margin:0 0 12px!important}
html body.interface-owner :is(.views,.years) button.on{color:var(--k,var(--ap-texte))!important}
html body.interface-owner #espace .espace-tabs [aria-selected=true]{color:var(--k)!important}
html body.interface-admin[data-groupe="op"] main{--k:var(--c-vert);--k-f:var(--c-vert-f)}
html body.interface-admin[data-groupe="fin"] main{--k:var(--c-or);--k-f:var(--c-or-f)}
html body.interface-admin[data-groupe="qual"] main{--k:var(--c-terre);--k-f:var(--c-terre-f)}
html body.interface-admin[data-groupe="param"] main{--k:var(--c-bleu);--k-f:var(--c-bleu-f)}

html body.interface-admin .mouv .mvt{border:0!important;border-left:0!important;border-radius:14px!important;background:var(--ap-fond)!important;margin:8px 12px!important;box-shadow:none!important}
html body.interface-admin .mouv .mvt:hover{background:var(--k-f)!important}
html body.interface-admin .mouv .mvt .h{font-weight:600;color:var(--k)!important}
html body.interface-admin .nav-group{border-color:var(--ap-ligne2)!important}
html body.interface-admin .kpis .kpi:first-child .k{color:#E6CF9F!important}

/* Transits dans les arrivées */
html body.interface-admin .mouv .mvt{flex-wrap:wrap}
html body.interface-admin .tr-bandeau{flex:1 1 100%;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:10px;padding:9px 12px;border-radius:12px;
  background:linear-gradient(90deg,#FFF1DC,#FFF8EC);color:#8A5A12;font:500 13px var(--ap-ui);animation:trLueur 2.4s ease-in-out infinite}
html body.interface-admin .tr-bandeau b{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11.5px}
html body.interface-admin .tr-bandeau .tr-temps{margin-left:auto;font-weight:600}
html body.interface-admin .tr-point{width:9px;height:9px;border-radius:50%;background:#E0912B;box-shadow:0 0 0 0 rgba(224,145,43,.55);animation:trPouls 1.4s ease-out infinite}
html body.interface-admin .tr-bandeau.serre{background:linear-gradient(90deg,#FDE3DA,#FFF0EA);color:#9B3B20}
html body.interface-admin .tr-bandeau.serre .tr-point{background:#D2552E}
html body.interface-admin .tr-bandeau.impossible{background:#B5483F;color:#fff}
html body.interface-admin .tr-bandeau.impossible .tr-point{background:var(--ap-carte)}
html body.interface-admin .tr-pastille{border-radius:999px;background:#FFF1DC;color:#8A5A12;font:700 10.5px var(--ap-ui);letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;margin-right:8px}
@keyframes trPouls{0%{box-shadow:0 0 0 0 rgba(224,145,43,.55)}100%{box-shadow:0 0 0 9px rgba(224,145,43,0)}}
@keyframes trLueur{0%,100%{filter:none}50%{filter:brightness(.96) saturate(1.25)}}
@media (prefers-reduced-motion:reduce){html body.interface-admin :is(.tr-bandeau,.tr-point){animation:none}}

/* Sélecteur de zone, discret */
html body.interface-admin .zone-choix{display:inline-flex;align-items:center;gap:6px;position:relative;padding:0 4px 0 10px;height:34px;border-radius:999px;background:var(--ap-carte);border:1px solid var(--ap-ligne);color:var(--ap-doux);cursor:pointer;transition:border-color .15s,color .15s}
html body.interface-admin .zone-choix:hover{border-color:#D8E3DA;color:var(--ap-vert)}
html body.interface-admin .zone-ico{display:inline-flex}
html body.interface-admin .zone-ico svg{width:15px;height:15px}
html body.interface-admin .zone-choix select[data-zone][aria-label]{appearance:none;-webkit-appearance:none;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;height:32px;padding:0 22px 0 0!important;font:600 12.5px var(--ap-ui)!important;color:inherit!important;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B756D' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 8px center!important}
html body.interface-admin .zone-choix select[data-zone][aria-label]:focus{box-shadow:none!important}
html body.interface-admin .zone-choix:focus-within{border-color:var(--ap-vert2);box-shadow:0 0 0 3px rgba(45,82,64,.12)}
@media(max-width:760px){
  html body.interface-admin .head-bord{display:flex!important;justify-content:flex-end;border:0!important;padding:0!important;margin:0 0 12px!important;min-height:0}
  html body.interface-admin .head-bord h2{display:none!important}
}
@media(max-width:760px){html body.interface-admin .head .side:has(.zone-choix){width:auto!important;margin-left:auto}html body.interface-admin .head .zone-choix{width:auto}}

/* =====================================================================
   HARMONIE DES TONS ET BARRES D'OUTILS
   ===================================================================== */
:root{--c-vert-f:#DFEBE2;--c-or-f:#F2E6CF;--c-bleu-f:#DFE8F1;--c-terre-f:#F3E0D7;--c-prune-f:#ECDFEC}
html body.interface-admin .gestion-sidebar,html body.interface-owner .jump{background:#F6F2EA!important;border-right-color:var(--ap-ligne2)!important}
html body.interface-owner .tabbar{background:rgba(246,242,234,.92)!important}
html :is(body.interface-owner,body.interface-admin) .mouv .mvt{background:var(--ap-creux)!important}
html :is(body.interface-owner,body.interface-admin) :is(.card,.kpi,.cal-corps,.cal-liste,.alerte){box-shadow:0 1px 2px rgba(60,48,28,.05),0 6px 18px rgba(60,48,28,.05)!important}
html :is(body.interface-owner,body.interface-admin) :is(.calnav,.views,.years,.espace-tabs){background:#E4DED2!important}
html :is(body.interface-owner,body.interface-admin) :is(.views,.years) button.on,html body.interface-owner .espace-tabs [aria-selected=true]{background:var(--ap-carte)!important}
html :is(body.interface-owner,body.interface-admin) .kpis .kpi:not(:first-child):not(.kpi-revenu) .v{color:var(--ap-texte)!important}
html :is(body.interface-owner,body.interface-admin) table thead th,html body.interface-admin table th{background:var(--ap-creux)!important}

/* Barre d'outils des titres : même hauteur, même typographie */
html body.interface-admin .head .side{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
html body.interface-admin .head .side select:not([data-zone]),html body.interface-admin .head .side select:not([data-zone])[id]{appearance:none;-webkit-appearance:none;height:38px!important;min-height:38px!important;border-radius:999px!important;border:1px solid var(--ap-ligne)!important;
  background-color:var(--ap-carte)!important;padding:0 34px 0 14px!important;font:600 13px var(--ap-ui)!important;color:var(--ap-texte)!important;cursor:pointer;width:auto!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B756D' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important}
html body.interface-admin .head .side > .btn{height:38px!important;min-height:38px!important;padding:0 16px!important;border-radius:999px!important;font-size:13px!important}
html body.interface-admin .seg-nav{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:#E4DED2}
html body.interface-admin .seg-nav .btn,html body.interface-admin .seg-nav .btn.ghost{height:32px!important;min-height:32px!important;padding:0 14px!important;border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;color:var(--ap-texte)!important;font:600 13px var(--ap-ui)!important}
html body.interface-admin .seg-nav .btn:hover{background:var(--ap-carte)!important}
html body.interface-admin .seg-nav .btn[id$="Now"]{background:var(--ap-carte)!important;box-shadow:0 1px 2px rgba(60,48,28,.1)!important}
html body.interface-admin .seg-nav .btn[id$="Prev"],html body.interface-admin .seg-nav .btn[id$="Next"]{width:34px;padding:0!important;font-size:15px!important}
html body.interface-admin .zone-choix{height:38px;background:var(--ap-carte)}
@media(max-width:760px){html body.interface-admin .head .side select:not([data-zone]){flex:1 1 0;width:0!important}html body.interface-admin .seg-nav{flex:1 1 100%;justify-content:space-between}html body.interface-admin .seg-nav .btn[id$="Now"]{flex:1}}
html body.interface-owner #espace :is(.label,.champ label,label.label){font-family:var(--ap-ui)!important;font-weight:500!important;font-size:12.5px!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-doux)!important}

/* Groupes du menu : pastille au trait, cohérente avec les rubriques */
html body.interface-admin .nav-label .nav-symbol{width:28px;height:28px;border-radius:9px;display:inline-flex!important;align-items:center;justify-content:center;border:1.5px solid color-mix(in srgb,var(--k) 35%,transparent);background:transparent!important}
html body.interface-admin .nav-label .nav-symbol svg{width:15px!important;height:15px!important}
html body.interface-admin.nav-collapsed .nav-label .nav-symbol{width:32px;height:32px;border-radius:10px}
html body.interface-admin.nav-collapsed .nav-label .nav-symbol svg{width:17px!important;height:17px!important}
html body.interface-admin.nav-collapsed .nav-label::after,html body.interface-admin.nav-collapsed .nav-label::-webkit-details-marker{display:none}
