/* FM/SOM V00730 — couche visuelle unifiee des fenetres et actions.
   Aucun gestionnaire de clic, aucune regle de visibilite ni de positionnement des overlays. */
:root{--fm-ui-primary:#2563eb;--fm-ui-accent:#06b6d4;--fm-ui-border:rgba(148,163,184,.28);--fm-ui-shadow:0 16px 36px rgba(15,23,42,.15)}
/* Surfaces des fenetres existantes (sans toucher aux overlays). */
:is([role="dialog"],#modalOverlay>div,#avenantModal>div,#shellCloseAllModalCard,#shellTrashPurgeModalCard){
 border-radius:20px!important;
 border:1px solid var(--fm-ui-border)!important;
 box-shadow:0 28px 75px rgba(5,18,42,.25),0 4px 16px rgba(5,18,42,.10)!important;
}
/* Actions: ciblage limite aux fenetres; n'affecte pas les boutons du dashboard et des tableaux. */
:is([role="dialog"],#modalOverlay,#avenantModal,#shellCloseAllModalCard,#shellTrashPurgeModalCard) button:not([class*="sr-only"]):not([data-shell-modal-context]),
:is([id$="Modal"],[id$="ModalOverlay"],[class~="modal-content"],[class~="modal-dialog"]) button:not([class*="sr-only"]):not([data-shell-modal-context]){
 border-radius:11px!important;
 font-weight:650!important;
 letter-spacing:.012em;
 transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease,background-color .16s ease!important;
}
:is([role="dialog"],#modalOverlay,#avenantModal,#shellCloseAllModalCard,#shellTrashPurgeModalCard) button:not(:disabled):hover,
:is([id$="Modal"],[id$="ModalOverlay"],[class~="modal-content"],[class~="modal-dialog"]) button:not(:disabled):hover{
 transform:translateY(-1px);filter:brightness(1.055);
}
:is([role="dialog"],#modalOverlay,#avenantModal,#shellCloseAllModalCard,#shellTrashPurgeModalCard) button:not(:disabled):active,
:is([id$="Modal"],[id$="ModalOverlay"],[class~="modal-content"],[class~="modal-dialog"]) button:not(:disabled):active{transform:translateY(1px) scale(.985);box-shadow:none!important}
:is([role="dialog"],#modalOverlay,#avenantModal,#shellCloseAllModalCard,#shellTrashPurgeModalCard) button:focus-visible,
:is([id$="Modal"],[id$="ModalOverlay"],[class~="modal-content"],[class~="modal-dialog"]) button:focus-visible{
 outline:3px solid rgba(56,189,248,.65)!important;outline-offset:3px!important;
}
/* Boutons de validation : relief lumineux et degrade bleu/cyan. */
:is(#modalConfirm,#avenantModalSave,#shellCloseAllModalConfirm,#shellTrashPurgeModalConfirm),
:is([role="dialog"],[id$="Modal"],[class~="modal-content"]) button:is([class*="bg-sky-600"],[class*="bg-blue-600"],[class*="bg-indigo-600"],[class*="bg-emerald-600"]){
 background:linear-gradient(125deg,#185de2 0%,#247cf1 58%,#0899cc 100%)!important;
 border:1px solid rgba(255,255,255,.25)!important;
 color:white!important;
 box-shadow:0 5px 14px rgba(29,100,220,.29),inset 0 1px 0 rgba(255,255,255,.25)!important;
}
:is(#modalCancel,#avenantModalCancel),
:is([role="dialog"],[id$="Modal"],[class~="modal-content"]) button:is([class*="border-slate-200"],[class*="border-gray-200"]):not([class*="bg-sky-600"]){
 background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(241,245,249,.85))!important;
 border:1px solid rgba(148,163,184,.36)!important;
 color:#334155!important;
 box-shadow:0 2px 6px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.8)!important;
}
/* Fermetures compactes rondes avec zone tactile raisonnable. */
:is(#modalClose,#avenantModalClose,[id$="ModalClose"],[id$="CloseModal"]){
 border-radius:999px!important;min-width:30px;min-height:30px;
 display:inline-flex;align-items:center;justify-content:center;
}
:is([role="dialog"],#modalOverlay,[id$="Modal"]) :is(input,select,textarea):focus-visible{
 outline:2px solid rgba(14,165,233,.45);outline-offset:1px;
}
html.dark :is([role="dialog"],#modalOverlay,#avenantModal,#shellCloseAllModalCard,#shellTrashPurgeModalCard) button:is([class*="border-slate-200"],[class*="border-gray-200"]):not([class*="bg-sky-600"]){
 background:linear-gradient(180deg,#334155,#1e293b)!important;border-color:#475569!important;color:#e2e8f0!important;
}
@media (prefers-reduced-motion:reduce){
 :is([role="dialog"],#modalOverlay,[id$="Modal"]) button{transition:none!important;transform:none!important}
}
@media(max-width:640px){
 :is([role="dialog"],#modalOverlay,[id$="Modal"]) button{min-height:34px}
}

/* V00731 — actions reconnaissables dans les vrais modals, y compris ceux
   ajoutes dynamiquement par app.js. Aucune action JS modifiee. */
:is([role="dialog"], [aria-modal="true"], #quoteOutlookComposeModal, #modalOverlay, #avenantModal, [id$="Modal"], [id$="ModalOverlay"], .modal-content, .modal-dialog) button:not(:disabled):not([data-close]):not([aria-label="Fermer"]):not([class*="sr-only"]),
:is([role="dialog"], [aria-modal="true"], #quoteOutlookComposeModal, #modalOverlay, #avenantModal, [id$="Modal"], [id$="ModalOverlay"], .modal-content, .modal-dialog) [role="button"]:not([aria-label="Fermer"]) {
  border-radius:13px!important;
  min-height:36px;
  padding:9px 16px!important;
  font-weight:700!important;
  letter-spacing:.018em!important;
  border:1px solid rgba(113,153,216,.45)!important;
  background:linear-gradient(150deg,#f8fbff 0%,#e9f1ff 100%)!important;
  color:#183960!important;
  box-shadow:0 4px 12px rgba(16,53,112,.12), inset 0 1px 0 rgba(255,255,255,.93)!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
:is([role="dialog"], [aria-modal="true"], #quoteOutlookComposeModal, #modalOverlay, #avenantModal, [id$="Modal"], [id$="ModalOverlay"], .modal-content, .modal-dialog) button:not(:disabled):not([data-close]):hover {transform:translateY(-2px)!important;box-shadow:0 9px 20px rgba(16,53,112,.22),inset 0 1px 0 #fff!important;}
:is([role="dialog"], [aria-modal="true"], #quoteOutlookComposeModal, #modalOverlay, #avenantModal, [id$="Modal"], [id$="ModalOverlay"], .modal-content, .modal-dialog) button:not(:disabled):active {transform:scale(.975)!important;}
/* Actions principales explicitement identifiees */
:is([role="dialog"],[aria-modal="true"],#quoteOutlookComposeModal,#modalOverlay,#avenantModal,[id$="Modal"],[id$="ModalOverlay"]) button:is([data-send],[data-confirm],[data-save],[data-submit],#modalConfirm,#avenantModalSave,[class*="bg-blue-"],[class*="bg-sky-"],[class*="bg-indigo-"],[class*="bg-emerald-"]){
  color:#fff!important;
  background:linear-gradient(120deg,#144cce 0%,#176cf0 55%,#06b6d4 100%)!important;
  border:1px solid rgba(125,211,252,.75)!important;
  box-shadow:0 7px 20px rgba(20,100,215,.38),inset 0 1px 0 rgba(255,255,255,.32)!important;
}
/* Close buttons do not become giant action buttons */
:is([role="dialog"],[aria-modal="true"],#quoteOutlookComposeModal,#modalOverlay,#avenantModal,[id$="Modal"],[id$="ModalOverlay"]) button:is([data-close],[aria-label="Fermer"],#modalClose,[id$="ModalClose"]){
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  padding:0!important;border-radius:50%!important;
  color:#475569!important;background:linear-gradient(145deg,#fff,#e2e8f0)!important;
  border:1px solid rgba(148,163,184,.38)!important;
  box-shadow:0 3px 10px rgba(15,23,42,.14)!important;
}
html.dark :is([role="dialog"],[aria-modal="true"],#quoteOutlookComposeModal,#modalOverlay,#avenantModal,[id$="Modal"],[id$="ModalOverlay"]) button:not(:disabled):not([data-close]):not([aria-label="Fermer"]):not([class*="bg-blue-"]):not([class*="bg-sky-"]):not([data-send]){
  background:linear-gradient(150deg,#25334b,#162238)!important;color:#e4f1ff!important;border-color:rgba(96,165,250,.4)!important;
}
@media (prefers-reduced-motion:reduce){[role="dialog"] button,[aria-modal="true"] button{transition:none!important;transform:none!important}}
