/* ==========================================================
   NAFA PHASE 4 — corrections ciblées
   - anti-chevauchement fiches / édition / modales
   - Mes affaires regroupé profil > catégorie
   - Coffre-fort Premium plus lisible
   - ergonomie smartphone iOS / Android
   ========================================================== */

:root{
  --nafa-z-content:1;
  --nafa-z-nav:3000;
  --nafa-z-panel:7200;
  --nafa-z-modal:9500;
  --nafa-z-toast:10000;
  --nafa-top-safe:env(safe-area-inset-top,0px);
  --nafa-bottom-safe:env(safe-area-inset-bottom,0px);
  --nafa-bottom-nav-h:78px;
}

html,body{height:100%;max-width:100%;overflow:hidden;}
.shell,.body{height:var(--app-h,100dvh);min-height:0;}
.body{position:relative;isolation:isolate;}
.content{position:relative;z-index:var(--nafa-z-content);}
.view:not(.on){display:none!important;}
.view.on{display:block;}

/* ---------- Anti-chevauchement fiche / édition ---------- */
.item-detail-view,.item-edit-view{
  position:fixed!important;
  inset:0!important;
  z-index:var(--nafa-z-panel)!important;
  display:none!important;
  flex-direction:column!important;
  height:100dvh!important;
  max-height:100dvh!important;
  width:100vw!important;
  max-width:100vw!important;
  background:var(--sur,#fff)!important;
  overflow:hidden!important;
  pointer-events:none!important;
  transform:translateZ(0);
}
.item-detail-view.on,.item-edit-view.on{
  display:flex!important;
  pointer-events:auto!important;
}
.item-edit-view.on{z-index:calc(var(--nafa-z-panel) + 20)!important;}
.fp-header{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:2!important;
  padding-top:calc(12px + var(--nafa-top-safe))!important;
  background:var(--sur,#fff)!important;
  border-bottom:1px solid var(--bdr,#eee)!important;
}
.item-scroll-content,.edit-scroll-content{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding-bottom:18px!important;
}
.item-actions,.edit-actions{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  gap:8px!important;
  padding:10px 12px calc(12px + var(--nafa-bottom-safe))!important;
  background:rgba(255,255,255,.96)!important;
  border-top:1px solid var(--bdr,#eee)!important;
  box-shadow:0 -12px 32px rgba(17,22,51,.10)!important;
  backdrop-filter:blur(14px);
}

/* ---------- Modales au-dessus de tout ---------- */
.overlay,.nf-modal-ov,#placeholder-overlay,#prem-overlay,#resale-overlay,#multi-object-overlay,#vault-offer-overlay,#move-item-overlay,#mkt-export-overlay,#create-comm-overlay,#nf-drawer-overlay{
  z-index:var(--nafa-z-modal)!important;
}
.overlay.on{display:flex!important;pointer-events:auto!important;}
.overlay:not(.on){display:none!important;pointer-events:none!important;}
.modal,.nf-modal{box-shadow:0 28px 90px rgba(17,22,51,.30)!important;}
.modal-x,.nf-modal-x{z-index:2!important;}

/* ---------- Navigation mobile stable ---------- */
.bot-nav,.bottom-nav{
  z-index:var(--nafa-z-nav)!important;
  transform:translateZ(0);
}
@media(max-width:768px){
  .shell{height:var(--app-h,100dvh)!important;overflow:hidden!important;}
  .content{
    padding-bottom:calc(var(--nafa-bottom-nav-h) + var(--nafa-bottom-safe) + 18px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .bot-nav{
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    min-height:calc(var(--nafa-bottom-nav-h) + var(--nafa-bottom-safe))!important;
    padding-bottom:max(10px,var(--nafa-bottom-safe))!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(16px);
  }
  .item-actions,.edit-actions{padding-bottom:calc(14px + var(--nafa-bottom-safe))!important;}
  .modal,.nf-modal{
    width:100%!important;max-width:100%!important;
    max-height:calc(100dvh - var(--nafa-top-safe) - var(--nafa-bottom-safe) - 20px)!important;
    border-radius:24px 24px 0 0!important;margin:0!important;
  }
  .overlay,.nf-modal-ov{align-items:flex-end!important;padding:0 10px calc(8px + var(--nafa-bottom-safe))!important;}
}

/* ---------- Mes Affaires : profil > catégorie ---------- */
#inv-grid{display:flex!important;flex-direction:column!important;gap:18px!important;}
.inv-profile-section{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92));
  border:1px solid var(--bdr,#e8e6f5);
  border-radius:24px;
  padding:14px;
  box-shadow:0 10px 30px rgba(17,22,51,.06);
}
.inv-profile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.inv-profile-left{display:flex;align-items:center;gap:10px;min-width:0;}
.inv-profile-avatar{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--acc-bg,#f3f0ff);font-size:21px;flex-shrink:0;}
.inv-profile-title{font-weight:850;font-size:15px;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inv-profile-sub{font-size:11px;color:var(--tx2,#747996);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inv-profile-value{font-size:12px;font-weight:850;color:var(--acc,#5b35f2);background:var(--acc-bg,#f3f0ff);border-radius:999px;padding:7px 10px;white-space:nowrap;}
.inv-type-section{border-top:1px dashed var(--bdr,#e8e6f5);padding-top:12px;margin-top:12px;}
.inv-type-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px;}
.inv-type-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;min-width:0;}
.inv-type-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;}
.inv-type-count{font-size:11px;color:var(--tx2,#747996);background:var(--sur2,#f6f5ff);border:1px solid var(--bdr,#e8e6f5);border-radius:999px;padding:4px 8px;white-space:nowrap;}
.inv-type-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px!important;}
@media(max-width:768px){
  .inv-profile-section{border-radius:20px;padding:12px;}
  .inv-profile-avatar{width:38px;height:38px;border-radius:14px;}
  .inv-profile-title{font-size:14px;}
  .inv-profile-value{font-size:11px;padding:6px 8px;}
  .inv-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .card{min-width:0!important;}
  .card-name{font-size:12px!important;line-height:1.25!important;}
}

/* ---------- Coffre-fort Premium ---------- */
.vault-hero,.vault-panel,.vault-stats .vault-stat{
  box-shadow:0 12px 34px rgba(17,22,51,.07);
}
.vault-proof.warn{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.vault-proof.ok{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important;}
.vault-item{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.vault-item:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(17,22,51,.08);border-color:var(--acc,#5b35f2);}
@media(max-width:768px){
  .vault-hero-row,.vault-layout{display:flex!important;flex-direction:column!important;}
  .vault-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;}
  .vault-stats{grid-template-columns:1fr!important;}
  .vault-item{align-items:flex-start!important;}
}
