/* Trésorerie V2 — formulaires, recherche personnes et événements financiers */
#page-tresorerie .modalbox.treso-v2-modal,
#page-tresorerie .modalbox.treso-event-detail-box{padding:20px!important}
#page-tresorerie .modalbox .field{margin-bottom:14px}
#page-tresorerie .modalbox .field>label{display:block;margin:0 0 7px;padding:0 2px;font-size:11px;font-weight:850;color:var(--gray-700)}
#page-tresorerie .modalbox .form-input,
#page-tresorerie .modalbox .form-select{min-height:42px;padding:9px 11px!important}
#page-tresorerie .modalbox textarea.form-input{min-height:88px;resize:vertical}
#page-tresorerie .modalbox .row{gap:14px;align-items:start}
#page-tresorerie .treso-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
#page-tresorerie .treso-modal-head h2{margin:0;font-size:21px}
#page-tresorerie .treso-modal-head p{margin:4px 0 0;font-size:11px;color:var(--gray-500);line-height:1.4}
#page-tresorerie .treso-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
#page-tresorerie .treso-card-sub{font-size:10px;color:var(--gray-500);margin-top:3px}
.treso-person-field{position:relative}
.treso-person-picker{position:relative}
.treso-person-results{position:absolute;z-index:40;left:0;right:0;top:47px;max-height:280px;overflow:auto;background:var(--cm-surface,#fff);border:1px solid var(--cm-border,#dce6f0);border-radius:12px;box-shadow:0 16px 38px rgba(0,22,54,.18);padding:5px}
.treso-person-result{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.treso-person-result:hover{background:var(--gray-50,#f5f8fb)}
.treso-person-result strong{font-size:11px}
.treso-person-result span{font-size:9px;color:var(--gray-500)}
.treso-person-empty{padding:12px;font-size:10px;color:var(--gray-500)}
.treso-person-selected{align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding:9px 10px;border:1px solid #b8d8ff;border-radius:11px;background:#eff7ff}
.treso-person-selected div{min-width:0}
.treso-person-selected strong{display:block;font-size:11px}
.treso-person-selected span{display:block;margin-top:2px;font-size:9px;color:#58708c}
.treso-person-selected button{border:0;background:transparent;color:#0874e8;font-size:9px;font-weight:850;cursor:pointer}
.treso-add-contact-btn{margin-top:7px!important;height:34px!important;font-size:10px!important}
.treso-event-global{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;border-top:1px solid var(--gray-100)}
.treso-event-kpi{min-width:0;padding:10px;border-radius:12px;background:var(--gray-50);border:1px solid var(--gray-100)}
.treso-event-kpi span{display:block;font-size:8px;font-weight:800;color:var(--gray-500)}
.treso-event-kpi strong{display:block;margin-top:5px;font-size:15px;line-height:1;color:var(--blue-dark)}
.treso-event-kpi.green strong{color:#0a9868}
.treso-event-kpi.red strong{color:#d94a58}
.treso-event-kpi.amber strong{color:#cc8610}
.treso-events-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 12px}
.treso-event-card{border:1px solid var(--gray-100);border-radius:16px;padding:14px;background:var(--cm-surface,#fff);box-shadow:0 8px 20px rgba(25,55,90,.05)}
.treso-event-card.closed{opacity:.72}
.treso-event-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.treso-event-type{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf6ff;color:#0874e8;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.treso-event-card h3{margin:7px 0 0;font-size:14px}
.treso-event-card p{margin:4px 0 0;font-size:9px;color:var(--gray-500)}
.treso-event-status{font-size:8px;font-weight:900;padding:5px 7px;border-radius:999px;background:#ebfbf5;color:#0a9868}
.treso-event-card.closed .treso-event-status{background:#eef1f5;color:#65758a}
.treso-event-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.treso-event-mini .treso-event-kpi{padding:8px}
.treso-event-mini .treso-event-kpi strong{font-size:12px}
.treso-event-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}
.treso-events-empty{padding:24px;text-align:center;font-size:11px;color:var(--gray-500);border:1px dashed var(--gray-200);border-radius:12px}
.treso-event-detail-box{max-width:1040px!important}
.treso-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.treso-ed-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px}
.treso-movement-form{padding:16px;border:1px solid var(--gray-100);border-radius:16px;background:var(--gray-50)}
.treso-movement-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.treso-movement-title strong{font-size:14px}
.treso-movement-list-wrap{margin-top:18px}
.treso-movement-list-wrap h3{margin:0 0 10px;font-size:15px}
.treso-movement-table{display:grid;gap:5px;overflow-x:auto}
.treso-movement-row{display:grid;grid-template-columns:80px minmax(150px,1.5fr) 90px 90px 90px minmax(150px,1fr);gap:8px;align-items:center;min-width:760px;padding:8px 9px;border:1px solid var(--gray-100);border-radius:10px;font-size:9px;background:var(--cm-surface,#fff)}
.treso-movement-row.head{font-weight:900;color:var(--gray-500);background:var(--gray-50)}
.treso-movement-row.cancelled{opacity:.45}
.treso-movement-row .recette{color:#0a9868;font-weight:900}
.treso-movement-row .depense{color:#d94a58;font-weight:900}
.treso-movement-row small{display:block;margin-top:2px;color:var(--gray-500)}
html[data-theme="dark"] .treso-person-selected{background:#0c2d4c;border-color:#245b88}
html[data-theme="dark"] .treso-person-selected span{color:#9db7d1}
html[data-theme="dark"] .treso-person-results{background:#0a1d30;border-color:#183b5b}
html[data-theme="dark"] .treso-person-result:hover{background:#102c48}
html[data-theme="dark"] .treso-event-type{background:#0e355b;color:#72b9ff}
html[data-theme="dark"] .treso-event-status{background:#0b3d32;color:#65e7bb}
@media(max-width:1000px){
 .treso-event-global,.treso-ed-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .treso-events-list{grid-template-columns:1fr}
}
@media(max-width:700px){
 #page-tresorerie .modalbox{padding:15px!important}
 #page-tresorerie .modalbox .row{grid-template-columns:1fr!important;gap:0!important}
 .treso-event-global,.treso-ed-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .treso-event-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
 .treso-modal-head{align-items:flex-start}
 .treso-modal-head h2{font-size:18px}
 .treso-person-results{position:relative;top:auto;margin-top:5px;max-height:220px}
}
/* === TRÉSORERIE V2 — FINITION FORMULAIRES PC/TABLETTE 20260920 === */
#page-tresorerie .modalbox{
  padding:22px!important;
}
#page-tresorerie .modalbox h2{
  line-height:1.15;
}
#page-tresorerie .modalbox .field{
  min-width:0;
  margin-bottom:16px!important;
}
#page-tresorerie .modalbox .field>label{
  margin-bottom:8px!important;
  padding:0 3px!important;
  line-height:1.25!important;
}
#page-tresorerie .modalbox .form-input,
#page-tresorerie .modalbox .form-select{
  width:100%!important;
  min-height:44px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
}
#page-tresorerie .modalbox textarea.form-input{
  min-height:94px!important;
}
#page-tresorerie .modalbox .row{
  gap:16px!important;
  margin-bottom:0!important;
}
#page-tresorerie .treso-person-picker .form-input{
  padding-left:38px!important;
  background-image:linear-gradient(transparent,transparent);
}
#page-tresorerie .treso-person-picker:before{
  content:'⌕';
  position:absolute;
  left:13px;
  top:10px;
  z-index:2;
  font-size:19px;
  line-height:24px;
  color:var(--gray-400);
  pointer-events:none;
}
#page-tresorerie .treso-person-selected{
  min-height:48px;
}
#page-tresorerie .treso-add-contact-btn{
  margin-top:9px!important;
}
#page-tresorerie .treso-event-global{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
#page-tresorerie .treso-event-kpi{
  min-height:61px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#page-tresorerie .treso-event-kpi span{
  line-height:1.2;
}
#page-tresorerie .treso-event-kpi strong{
  font-size:16px;
}
#page-tresorerie .treso-movement-form{
  padding:18px;
}
#page-tresorerie .treso-movement-title span{
  font-size:10px;
}
@media(min-width:1100px){
  #page-tresorerie .modalbox.treso-v2-modal{max-width:760px!important}
}

/* === TRÉSORERIE V2 — LARGEURS MODALES PC / TABLETTE / MOBILE === */
#page-tresorerie #treso-creance-modal .modalbox{width:min(650px,calc(100vw - 32px))!important;max-width:650px!important}
#page-tresorerie #treso-bulk-modal .modalbox{width:min(620px,calc(100vw - 32px))!important;max-width:620px!important}
#page-tresorerie #treso-recette-modal .modalbox{width:min(600px,calc(100vw - 32px))!important;max-width:600px!important}
#page-tresorerie #treso-contact-modal .modalbox{width:min(650px,calc(100vw - 32px))!important;max-width:650px!important}
#page-tresorerie #treso-event-modal .modalbox{width:min(720px,calc(100vw - 32px))!important;max-width:720px!important}
#page-tresorerie #treso-detail-modal .modalbox{width:min(820px,calc(100vw - 32px))!important;max-width:820px!important}
#page-tresorerie #treso-event-detail-modal .modalbox{width:min(1040px,calc(100vw - 32px))!important;max-width:1040px!important}
@media(max-width:700px){
  #page-tresorerie .modal{padding:10px!important}
  #page-tresorerie .modal .modalbox{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 20px)!important;
    overflow:auto!important;
    margin:0!important;
  }
}

/* === TRÉSORERIE — MODALES PLEIN ÉCRAN, CORRECTION DESKTOP 20260920 ===
   La classe globale .modal de CoachMe décrit une boîte de dialogue 520 px.
   Dans Trésorerie, .modal est l'overlay et .modalbox est la boîte réelle. */
#page-tresorerie .modal{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:24px!important;
  border-radius:0!important;
  background:rgba(7,26,45,.52)!important;
  overflow:auto!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:2200!important;
  box-sizing:border-box!important;
}
#page-tresorerie .modal.open{
  display:flex!important;
}
#page-tresorerie .modal>.modalbox{
  position:relative!important;
  flex:0 1 auto!important;
  box-sizing:border-box!important;
  margin:auto!important;
  background:var(--cm-surface,#fff)!important;
  border:1px solid var(--cm-border,var(--gray-200))!important;
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(7,26,45,.24)!important;
  max-height:calc(100vh - 48px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#page-tresorerie .modal>.modalbox .row{
  width:100%!important;
  min-width:0!important;
}
#page-tresorerie .modal>.modalbox .field{
  min-width:0!important;
}
@media(max-width:700px){
  #page-tresorerie .modal{
    padding:10px!important;
    align-items:flex-start!important;
  }
  #page-tresorerie .modal>.modalbox{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 20px)!important;
  }
}
