/* CEN V152.26 — audit général UI / mobile / finances */
:root{
  --cen26-blue:#075f96;
  --cen26-blue-dark:#063d6b;
  --cen26-green:#17643f;
  --cen26-green-dark:#123f2e;
  --cen26-yellow:#f7c934;
  --cen26-ink:#1d342d;
  --cen26-muted:#687a74;
  --cen26-line:#dce8e2;
  --cen26-soft:#f5faf7;
  --cen26-shadow:0 10px 30px rgba(15,58,44,.08);
}

/* 1) Toasts / flash — compacts, lisibles et non envahissants */
.flash-zone{
  position:fixed!important;
  top:14px!important;
  left:auto!important;
  right:14px!important;
  width:min(390px,calc(100vw - 28px))!important;
  padding:0!important;
  z-index:12000!important;
  display:grid!important;
  gap:8px!important;
  pointer-events:none!important;
  background:transparent!important;
}
.flash-zone .flash{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:12px 16px!important;
  border-radius:14px!important;
  box-shadow:0 14px 38px rgba(16,42,33,.18)!important;
  font-size:.92rem!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:0!important;
  text-transform:none!important;
  pointer-events:auto!important;
  animation:cen26ToastIn .22s ease-out both!important;
}
.flash-zone .flash.success{background:#eaf8ef!important;border:1px solid #b8e4c7!important;color:#155b35!important}
.flash-zone .flash.warning{background:#fff8df!important;border:1px solid #f0dd99!important;color:#735600!important}
.flash-zone .flash.danger{background:#fff0f0!important;border:1px solid #efc4c4!important;color:#8a2b2b!important}
.flash-zone .flash.info{background:#edf7fc!important;border:1px solid #c5e2f2!important;color:#145a7a!important}
.flash-zone .flash.cen26-hide{opacity:0!important;transform:translateY(-8px)!important;transition:.2s ease!important}
@keyframes cen26ToastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}

/* 2) Organisation générale : cartes, formulaires, titres */
body.admin-layout .workspace-main,
body.admin-layout main.workspace-content,
body.admin-layout .content-area{min-width:0!important}
body.admin-layout section.card,
body.admin-layout article.card{
  border:1px solid rgba(19,79,56,.11)!important;
  border-radius:18px!important;
  box-shadow:var(--cen26-shadow)!important;
}
body.admin-layout .page-heading{
  align-items:flex-start!important;
  gap:18px!important;
}
body.admin-layout .page-heading h1{line-height:1.12!important;letter-spacing:-.02em!important}
body.admin-layout .page-heading p{max-width:820px!important;line-height:1.6!important}
body.admin-layout .list-actions{gap:8px!important;flex-wrap:wrap!important}
body.admin-layout .btn{
  border-radius:10px!important;
  min-height:40px!important;
  padding:9px 13px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body.admin-layout input,
body.admin-layout select,
body.admin-layout textarea{
  border-radius:10px!important;
  border-color:#cfded7!important;
}
body.admin-layout input:focus,
body.admin-layout select:focus,
body.admin-layout textarea:focus{
  border-color:#68a98d!important;
  box-shadow:0 0 0 3px rgba(36,126,86,.11)!important;
}

/* Dashboard : supprimer les grands vides et garder une hiérarchie claire */
body.page-endpoint-dashboard .dashboard-welcome,
body.page-endpoint-admin-dashboard .dashboard-welcome{
  margin-bottom:22px!important;
}
body.page-endpoint-dashboard .dashboard-welcome + *,
body.page-endpoint-admin-dashboard .dashboard-welcome + *{margin-top:0!important}
body.page-endpoint-dashboard .kpi-grid,
body.page-endpoint-admin-dashboard .kpi-grid{gap:14px!important}

/* 3) Cotisations : bureau propre */
body.page-endpoint-payments .finance-table{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  border:1px solid var(--cen26-line)!important;
  border-radius:16px!important;
  background:#fff!important;
}
body.page-endpoint-payments .finance-table table{
  width:100%!important;
  min-width:1120px!important;
  table-layout:auto!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.page-endpoint-payments .finance-table th{
  background:#f3f8f5!important;
  color:#24463a!important;
  font-size:.75rem!important;
  padding:12px 14px!important;
  white-space:nowrap!important;
}
body.page-endpoint-payments .finance-table td{
  padding:14px!important;
  vertical-align:top!important;
  line-height:1.45!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
body.page-endpoint-payments .finance-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  min-width:220px!important;
}
body.page-endpoint-payments .finance-actions > .finance-quick-add{grid-column:1/-1!important}
body.page-endpoint-payments .finance-actions form.inline,
body.page-endpoint-payments .finance-actions details{margin:0!important;width:100%!important;min-width:0!important}
body.page-endpoint-payments .finance-actions .btn,
body.page-endpoint-payments .finance-actions summary.btn{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:8px 9px!important;
  justify-content:center!important;
  overflow:hidden!important;
}

/* 4) Trésorerie : même niveau de lisibilité que cotisations */
body.page-endpoint-treasury-page .finance-table{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  border:1px solid var(--cen26-line)!important;
  border-radius:16px!important;
  background:#fff!important;
}
body.page-endpoint-treasury-page .finance-table table{min-width:1120px!important;table-layout:auto!important}
body.page-endpoint-treasury-page .finance-table th{white-space:nowrap!important;background:#f3f8f5!important;color:#24463a!important}
body.page-endpoint-treasury-page .finance-table td{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;vertical-align:top!important}
body.page-endpoint-treasury-page .finance-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;min-width:235px!important}
body.page-endpoint-treasury-page .finance-actions .btn{width:100%!important;margin:0!important;min-width:0!important}
body.page-endpoint-treasury-page .cen26-treasury-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;grid-column:1/-1!important;width:100%!important}
body.page-endpoint-treasury-page .cen26-treasury-actions form{margin:0!important;display:block!important}
body.page-endpoint-treasury-page .cen26-treasury-actions .btn{font-size:.78rem!important;min-height:38px!important}
body.page-endpoint-treasury-page .cen26-treasury-actions .cen26-hierarchy-mail{grid-column:1/-1!important}

/* 5) Espace membre : édition claire et accessible */
body.page-endpoint-my-profile .cen-member-self-edit-card,
body.page-endpoint-member-dashboard .cen-member-welcome-card{overflow:hidden!important}
body.page-endpoint-my-profile .cen-member-form-fields{gap:14px!important}
body.page-endpoint-my-profile .cen-member-form-section{border-radius:16px!important}
body.page-endpoint-my-profile .cen-member-form-submit-bar{gap:14px!important;align-items:center!important}

/* 6) Adhésion en ligne : formulaire stable */
body.page-endpoint-become-member .cen-adhesion-form input,
body.page-endpoint-become-member .cen-adhesion-form select,
body.page-endpoint-become-member .cen-adhesion-form textarea{transition:border-color .15s ease,box-shadow .15s ease!important}
body.page-endpoint-become-member .cen26-draft-note{
  margin:0 0 12px!important;padding:10px 13px!important;border-radius:12px!important;
  background:#eef8f3!important;border:1px solid #cde6d8!important;color:#2d5e49!important;font-size:.85rem!important
}

/* Mobile global */
@media (max-width:780px){
  .flash-zone{
    top:10px!important;
    right:10px!important;
    width:calc(100vw - 20px)!important;
  }
  .flash-zone .flash{padding:10px 13px!important;border-radius:12px!important;font-size:.86rem!important}

  body.admin-layout .workspace-topbar{
    min-height:0!important;
    height:auto!important;
    padding:12px 12px 10px 82px!important;
    gap:9px!important;
    align-items:flex-start!important;
  }
  body.admin-layout .workspace-topbar > *{min-width:0!important}
  body.admin-layout .workspace-topbar h1,
  body.admin-layout .workspace-topbar h2{font-size:1.05rem!important;line-height:1.15!important;margin:0!important}
  body.admin-layout .workspace-topbar p,
  body.admin-layout .workspace-topbar small{font-size:.72rem!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
  body.admin-layout .workspace-topbar .topbar-actions,
  body.admin-layout .workspace-topbar .workspace-actions{gap:6px!important;flex-wrap:wrap!important}
  body.admin-layout .workspace-topbar select{min-height:38px!important;font-size:.84rem!important}

  body.admin-layout section.card,
  body.admin-layout article.card{border-radius:15px!important;padding:16px!important}
  body.admin-layout .page-heading{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  body.admin-layout .page-heading .list-actions{width:100%!important}
  body.admin-layout .page-heading .list-actions .btn{flex:1 1 auto!important}

  /* Cotisations : une vraie carte par paiement, sans débordement */
  body.page-endpoint-payments .finance-table{
    overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important
  }
  body.page-endpoint-payments .finance-table table,
  body.page-endpoint-payments .finance-table tbody{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}
  body.page-endpoint-payments .finance-table thead{display:none!important}
  body.page-endpoint-payments .finance-table tbody tr{
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0 0 14px!important;padding:8px 14px 14px!important;border:1px solid #d8e7df!important;border-radius:16px!important;
    background:#fff!important;box-shadow:0 7px 22px rgba(15,58,44,.06)!important;overflow:hidden!important
  }
  body.page-endpoint-payments .finance-table tbody td{
    display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;column-gap:10px!important;
    width:100%!important;max-width:100%!important;min-width:0!important;padding:10px 0!important;margin:0!important;
    border:0!important;border-bottom:1px dashed #e0eae5!important;white-space:normal!important;overflow:visible!important
  }
  body.page-endpoint-payments .finance-table tbody td:last-child{border-bottom:0!important}
  body.page-endpoint-payments .finance-table tbody td::before{font-size:.69rem!important;font-weight:850!important;color:#71837b!important;text-transform:uppercase!important;letter-spacing:.03em!important}
  body.page-endpoint-payments .finance-table tbody td:nth-child(1)::before{content:'Date'}
  body.page-endpoint-payments .finance-table tbody td:nth-child(2)::before{content:'Référence'}
  body.page-endpoint-payments .finance-table tbody td:nth-child(3)::before{content:'Coordination'}
  body.page-endpoint-payments .finance-table tbody td:nth-child(4)::before{content:'Payeur'}
  body.page-endpoint-payments .finance-table tbody td:nth-child(5)::before{content:'Détail'}
  body.page-endpoint-payments .finance-table tbody td:nth-child(6)::before{content:'Montant'}
  body.page-endpoint-payments .finance-table tbody td:nth-child(7)::before{content:'Statut'}
  body.page-endpoint-payments .finance-table tbody td:nth-child(8)::before{content:'Actions'}
  body.page-endpoint-payments .finance-table tbody td > *{min-width:0!important;max-width:100%!important}
  body.page-endpoint-payments .finance-table tbody td strong,
  body.page-endpoint-payments .finance-table tbody td small{overflow-wrap:anywhere!important;word-break:normal!important}
  body.page-endpoint-payments .finance-actions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;min-width:0!important;width:100%!important;max-width:100%!important
  }
  body.page-endpoint-payments .finance-actions::before{align-self:start!important;padding-top:8px!important}
  body.page-endpoint-payments .finance-actions > .finance-quick-add{grid-column:1/-1!important}
  body.page-endpoint-payments .finance-actions .btn,
  body.page-endpoint-payments .finance-actions summary.btn{
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:42px!important;padding:9px 7px!important;
    font-size:.75rem!important;line-height:1.15!important;text-align:center!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
  body.page-endpoint-payments .finance-row-edit[open]{grid-column:1/-1!important;width:100%!important;max-width:100%!important}
  body.page-endpoint-payments .finance-row-edit .mini-form{grid-template-columns:1fr!important}

  /* Trésorerie : cartes mobiles et actions individuelles */
  body.page-endpoint-treasury-page .finance-table{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
  body.page-endpoint-treasury-page .finance-table table,
  body.page-endpoint-treasury-page .finance-table tbody{display:block!important;width:100%!important;min-width:0!important}
  body.page-endpoint-treasury-page .finance-table thead{display:none!important}
  body.page-endpoint-treasury-page .finance-table tbody tr{
    display:block!important;width:100%!important;min-width:0!important;margin:0 0 14px!important;padding:8px 14px 14px!important;
    background:#fff!important;border:1px solid #d8e7df!important;border-radius:16px!important;overflow:hidden!important
  }
  body.page-endpoint-treasury-page .finance-table tbody td{
    display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important;
    padding:10px 0!important;border:0!important;border-bottom:1px dashed #e0eae5!important;white-space:normal!important
  }
  body.page-endpoint-treasury-page .finance-table tbody td::before{font-size:.69rem!important;font-weight:850!important;color:#71837b!important;text-transform:uppercase!important}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(1)::before{content:'Date'}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(2)::before{content:'Référence'}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(3)::before{content:'Coordination'}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(4)::before{content:'Type'}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(5)::before{content:'Description'}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(6)::before{content:'Montant'}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(7)::before{content:'Source'}
  body.page-endpoint-treasury-page .finance-table tbody td:nth-child(8)::before{content:'Actions'}
  body.page-endpoint-treasury-page .finance-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;min-width:0!important}
  body.page-endpoint-treasury-page .cen26-treasury-actions{grid-template-columns:1fr 1fr!important}

  /* Profil membre */
  body.page-endpoint-my-profile .cen-member-profile-header,
  body.page-endpoint-my-profile .cen-member-form-hero,
  body.page-endpoint-my-profile .cen-member-form-submit-bar{display:grid!important;grid-template-columns:1fr!important}
  body.page-endpoint-my-profile .cen-member-form-fields.three-columns,
  body.page-endpoint-my-profile .cen-member-form-fields{grid-template-columns:1fr!important}
  body.page-endpoint-my-profile .cen-member-form-submit{width:100%!important}

  /* Formulaire adhésion */
  body.page-endpoint-become-member .cen-adhesion-sheet{padding:14px!important;border-radius:14px!important}
  body.page-endpoint-become-member .cen-adhesion-form{width:100%!important;max-width:100%!important;overflow:hidden!important}
}

@media (max-width:420px){
  body.page-endpoint-payments .finance-table tbody td,
  body.page-endpoint-treasury-page .finance-table tbody td{grid-template-columns:78px minmax(0,1fr)!important;gap:8px!important}
  body.page-endpoint-payments .finance-actions,
  body.page-endpoint-treasury-page .finance-actions{grid-template-columns:1fr!important}
  body.page-endpoint-payments .finance-actions > *,
  body.page-endpoint-treasury-page .finance-actions > *,
  body.page-endpoint-treasury-page .cen26-treasury-actions > *{grid-column:1/-1!important}
  body.page-endpoint-treasury-page .cen26-treasury-actions{grid-template-columns:1fr!important}
}

@media print{
  .flash-zone,.cen26-treasury-actions,.no-print{display:none!important}
}
