/* La messagerie reste dans la coque Carla et conserve sa navigation principale. */
body.mailbox-mode { --carla-main-nav-width: 248px; }
body.mailbox-mode .portal-shell { display: block !important; min-width: 0; }
body.mailbox-mode .primary-sidebar { position: fixed !important; inset: 0 auto 0 0; align-items: stretch; width: var(--carla-main-nav-width) !important; padding: 24px 16px 18px !important; }
/* La boîte mail conserve les libellés et l'identité du menu principal. */
body.mailbox-mode .product-mark { justify-content: flex-start; width: auto; margin: 0 2px 20px; padding: 0 10px 22px !important; }
body.mailbox-mode .product-identity { display: grid !important; }
body.mailbox-mode .product-menu-chevron { display: inline !important; }
body.mailbox-mode .primary-sidebar > nav::before,
body.mailbox-mode .sidebar-secondary::before { display: block !important; }
body.mailbox-mode .nav-item {
  display: block !important; width: auto; min-height: 44px; margin: 0 0 2px; padding: 10px 12px 10px 42px !important;
  overflow: visible; color: #c6d2e2 !important; font-size: .77rem !important;
}
body.mailbox-mode .nav-item::before { left: 14px; transform: translateY(-50%); }
body.mailbox-mode .user-summary { justify-content: flex-start; width: auto; margin-inline: 0; padding: 12px; }
body.mailbox-mode .user-identity { display: grid !important; }
body.mailbox-mode .app-shell {
  box-sizing: border-box; width: calc(100vw - var(--carla-main-nav-width)) !important; height: 100vh !important;
  margin: 0 0 0 var(--carla-main-nav-width) !important; padding: 66px 0 0 !important; overflow: hidden !important;
}
body.mailbox-mode .topbar {
  right: 0 !important; left: var(--carla-main-nav-width) !important; height: 66px !important; min-width: 0;
  grid-template-columns: auto minmax(170px,1fr) auto auto auto auto !important;
  grid-template-rows: 1fr !important; gap: 10px !important; padding: 0 14px !important; overflow: hidden;
}
body.mailbox-mode .topbar > * { min-width: 0; }
body.mailbox-mode .topbar .mobile-menu { display: none; }
body.mailbox-mode .topbar .app-breadcrumb { overflow: hidden; white-space: nowrap; }
body.mailbox-mode .topbar .global-search { width: 100%; }
body.mailbox-mode .topbar .connection { white-space: nowrap; }
body.mailbox-mode .topbar #global-client-create { position: static !important; flex: none; white-space: nowrap; }

.mail-client-association { width:min(620px,calc(100vw - 32px)); padding:0; border:0; border-radius:16px; box-shadow:0 24px 70px rgba(18,35,60,.28); color:#253b5c; }
.mail-client-association::backdrop { background:rgba(18,35,60,.42); backdrop-filter:blur(2px); }
.mail-client-association form { display:grid; gap:16px; padding:22px; }
.mail-client-association header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.mail-client-association header span { color:#a47e43; font-size:.68rem; font-weight:900; letter-spacing:.1em; }
.mail-client-association h2 { margin:4px 0 0; font-family:Georgia,serif; font-weight:400; }
.mail-client-association header button { border:0; background:transparent; color:#64748b; font-size:1.6rem; cursor:pointer; }
.mail-client-association label { display:grid; gap:7px; font-size:.76rem; font-weight:800; }
.mail-client-association input,.mail-client-association select { width:100%; padding:11px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#253b5c; }
.mail-client-association select { min-height:210px; }
.mail-client-association select[data-matter] { min-height:0; }
.mail-association-scope { display:grid; gap:9px; margin:0; padding:13px; border:1px solid #d7dee8; border-radius:9px; }
.mail-association-scope legend { padding:0 5px; color:#536177; font-size:.72rem; font-weight:800; }
.mail-client-association .mail-association-scope label { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:10px; min-height:26px; font-weight:700; cursor:pointer; }
.mail-client-association .mail-association-scope input[type="radio"] { appearance:auto; width:16px; height:16px; min-width:16px; margin:0; padding:0; accent-color:#29466f; }
.mail-association-scope label:has(input:checked) span { color:#203858; font-weight:850; }
.mail-association-message { margin:0; padding:11px 13px; border-radius:9px; background:#f4f7fa; color:#607087; overflow-wrap:anywhere; }
.mail-association-status { min-height:1.2em; margin:0; color:#9b3f3f; font-size:.75rem; }
.mail-association-confirmation { position:fixed; right:24px; bottom:24px; z-index:1000; max-width:min(420px,calc(100vw - 32px)); padding:14px 18px; border-radius:10px; background:#27613f; color:#fff; box-shadow:0 14px 38px rgba(18,35,60,.24); font-size:.8rem; font-weight:800; }
.mail-client-association footer { display:flex; justify-content:flex-end; gap:9px; }
.mail-client-association footer button { padding:10px 14px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#29466f; font-weight:800; cursor:pointer; }
.mail-client-association footer .context-primary { border-color:#29466f; background:#29466f; color:#fff; }
body.mailbox-mode [data-screen="messaging"] { width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; }
body.mailbox-mode #messaging-screen-content { width: 100%; height: 100%; min-width: 0; }

.messaging-layout {
  display: grid !important;
  grid-template-columns: clamp(210px,14vw,224px) clamp(400px,29vw,440px) minmax(0,1fr) !important;
  width: 100% !important; height: 100% !important; min-width: 0; overflow: hidden;
  border: 0; border-top: 1px solid #dce3eb; border-radius: 0; background: #fff;
  box-shadow: none;
}
.messaging-layout * { box-sizing: border-box; }

/* Navigation Outlook */
.mail-sidebar { display: flex; min-width: 0; flex-direction: column; padding: 16px 12px 12px; overflow: hidden; border-right: 1px solid #dce3eb; background: #f4f6f9; }
.mail-compose-button {
  display: flex; align-items: center; gap: 8px; width: 100%; min-height: 40px; padding: 9px 13px;
  border: 0; border-radius: 8px; background: #0f6cbd; color: #fff; font-size: .73rem; font-weight: 800; text-align: left;
  box-shadow: 0 4px 12px rgba(15,108,189,.2); cursor: pointer;
}
.mail-compose-button span { font-size: 1rem; }
.mail-work-queue-button,.mail-supervision-button { display: flex; align-items: center; gap: 8px; margin: 0 8px 6px; padding: 8px 10px; border: 1px solid #d4dde6; border-radius: 7px; background: #fff; color: #315575; font-size: .6rem; font-weight: 750; cursor: pointer; }
.mail-work-queue-button:hover,.mail-supervision-button:hover { background: #edf4fa; }
.mail-work-queue-button.active { border-color:#8db9dc; background:#dcebf8; color:#0f548c; box-shadow:inset 3px 0 #0f6cbd; }
.mail-folder-list { display: grid; align-content: start; gap: 3px; margin-top: 17px; overflow-y: auto; }
.mail-folder-list button {
  display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; width: 100%; min-height: 38px;
  padding: 7px 9px; border: 0; border-radius: 7px; background: transparent; color: #405268; text-align: left; cursor: pointer;
}
.mail-folder-list button:hover { background: #e6ebf1; }
.mail-folder-list button.active { background: #dcebf8; color: #0f548c; box-shadow: inset 3px 0 #0f6cbd; }
.mail-folder-list button span { color: #65768a; text-align: center; }
.mail-folder-list button b { overflow: hidden; font-size: .69rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.mail-folder-list button small { min-width: 19px; color: #0f548c; font-size: .59rem; font-weight: 850; text-align: right; }
.mail-account-status { display: flex; align-items: center; gap: 9px; margin-top: auto; padding: 12px 8px 3px; border-top: 1px solid #dce3eb; }
.mail-account-status > i { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: #3a9465; box-shadow: 0 0 0 3px #dcefe5; }
.mail-account-status div { display: grid; min-width: 0; }
.mail-account-status b { color: #34465a; font-size: .62rem; }
.mail-account-status small { overflow: hidden; color: #748397; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }

/* Liste de messages aérée et hiérarchisée. */
.mail-list-pane { display: grid; grid-template-rows: auto auto auto auto minmax(0,1fr) auto; min-width: 0; overflow: hidden; border-right: 1px solid #dce3eb; background: #fff; }
.mail-toolbar { display: grid; grid-template-columns: auto minmax(0,1fr) 34px; align-items: center; gap: 10px; min-height: 68px; padding: 11px 14px 9px; }
.mail-toolbar div { display: grid; gap: 3px; min-width: 0; }
.mail-toolbar h1 { margin: 0; color: #20364f; font-family: inherit; font-size: .98rem; font-weight: 780; line-height: 1.2; overflow-wrap: anywhere; }
.mail-toolbar small { overflow: hidden; color: #7b8999; font-size: .57rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.mail-toolbar > button { flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid #d7dfe8; border-radius: 7px; background: #fff; color: #315575; font-size: 1rem; cursor: pointer; }
.mail-toolbar > button:hover { background: #edf4fa; }
.mail-toolbar .mailbox-page-back { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: auto; min-width: 112px; padding: 0 11px; border-color: #9eb6cc; background: #eef5fb; color: #174e7b; font-size: .64rem; font-weight: 800; white-space: nowrap; }
.mail-toolbar .mailbox-page-back span { font-size: 1rem; line-height: 1; }
.mail-toolbar .mailbox-page-back:hover { border-color: #0f6cbd; background: #dfeefa; color: #0f548c; }
.mail-toolbar .mailbox-page-back:focus-visible { outline: 3px solid rgba(15,108,189,.2); outline-offset: 2px; }
.mail-search { display: flex; align-items: center; gap: 8px; min-height: 38px; margin: 4px 12px 8px; padding: 0 11px; border: 1px solid #cbd5e0; border-radius: 8px; background: #f9fafb; }
.mail-search:focus-within { border-color: #0f6cbd; box-shadow: 0 0 0 2px rgba(15,108,189,.13); background: #fff; }
.mail-search span { color: #6d7d90; }
.mail-search input { width: 100%; min-width: 0; min-height: 34px !important; padding: 0 !important; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; font-size: .67rem; }
.mail-filterbar { display: flex; gap: 4px; min-height: 36px; padding: 2px 12px 7px; overflow-x: auto; border-bottom: 1px solid #edf0f4; }
.mail-filterbar button { min-height: 27px; padding: 5px 9px; border: 0; border-radius: 999px; background: transparent; color: #66778b; font-size: .59rem; white-space: nowrap; cursor: pointer; }
.mail-filterbar button:hover { background: #eef2f6; }
.mail-filterbar button.active { background: #dfeefa; color: #0f548c; font-weight: 800; }
.mail-selectionbar { display: flex; align-items: center; justify-content: space-between; min-height: 34px; padding: 5px 12px; background: #eaf3fb; color: #174e7b; font-size: .61rem; }
.mail-selectionbar button { border: 0; background: transparent; color: #0f548c; font-size: .59rem; font-weight: 750; cursor: pointer; }
.mail-selectionbar > div { display: flex; align-items: center; gap: 10px; }
.mail-selectionbar [data-bulk-complete] { padding: 5px 9px; border-radius: 6px; background: #0f6cbd; color: #fff; }
.mail-list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 8px 10px 14px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; background: #f2f5f9; }
.mail-list-item {
  position: relative; display: grid; grid-template-columns: 18px 30px minmax(0,1fr); align-items: center; gap: 10px; min-height: 112px; flex-shrink: 0;
  padding: 16px 14px; border: 1px solid #dce3ec; border-left: 4px solid transparent; border-radius: 10px; background: #fff;
}
.mail-list-item:hover { background: #f8fbff; border-color: #9fb8d1; }
.mail-list-item.active { border-color: #0f6cbd; background: #e5f0fc; box-shadow: inset 0 0 0 1px #0f6cbd; }
.mail-list-item.unread { border-left-color: #0f6cbd; background: #f0f7ff; }
.mail-list-item.unread.active { background: #e5f0fc; }
.mail-list-item:focus-within { outline: 3px solid #0f6cbd; outline-offset: 2px; }
.mail-list-item > input { align-self: center; width: 14px; height: 14px; margin: 0; accent-color: #0f6cbd; }
.mail-avatar { display: flex; position: relative; align-self: start; align-items: center; width: 29px; min-height: 29px; margin-top: 1px; }
.mail-avatar-person,.mail-avatar-more { display: grid; position: relative; place-items: center; flex: 0 0 29px; width: 29px; height: 29px; border: 2px solid #fff; border-radius: 50%; background: #dce9f5; color: #174e7b; font-size: .55rem; font-weight: 850; }
.mail-avatar-group { width: 42px; }
.mail-avatar-group .mail-avatar-person:not(:first-child),.mail-avatar-group .mail-avatar-more { margin-left: -17px; }
.mail-avatar-group .mail-avatar-person:nth-child(2) { background: #e9e1f4; color: #624681; }
.mail-avatar-group .mail-avatar-person:nth-child(3) { background: #e4efe6; color: #376847; }
.mail-avatar-more { background: #eef1f5; color: #56677a; font-size: .48rem; }
.mail-list-item.has-avatar-group { grid-template-columns: 18px 42px minmax(0,1fr); }
.mail-list-item-main { display: grid; gap: 6px; min-width: 0; padding: 0; border: 0; background: transparent; color: #34465a; text-align: left; cursor: pointer; }
.mail-row-top { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 8px; }
.mail-row-top b { overflow: hidden; font-size: .9375rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.mail-row-top time { color: #57677b; font-size: .75rem; white-space: nowrap; }
.mail-list-item-main > strong { display: -webkit-box; overflow: hidden; color: #243b55; font-size: .875rem; font-weight: 650; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.mail-row-preview { display: -webkit-box; overflow: hidden; color: #5f7084; font-size: .8125rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.mail-row-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 3px; }
.mail-row-meta:empty { display: none; }
.mail-badge { max-width: 100%; padding: 3px 7px; border-radius: 6px; background: #eef1f5; color: #42546a; font-size: .6875rem; font-weight: 650; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.mail-badge-unread { background: #dcecff; color: #14538a; }
.mail-badge-important,.mail-badge-due { background: #fff0cd; color: #795000; }
.mail-badge-overdue { background: #ffe3e2; color: #9b2929; }
.mail-badge-attachment { background: #e4f1eb; color: #276044; }
.mail-badge-matter,.mail-badge-category { background: #eee7fa; color: #65448a; }
.mail-date-separator { flex-shrink: 0; padding: 10px 4px 3px; color: #53657b; font-size: .75rem; font-weight: 750; }
.mail-list-pane .mail-filterbar button { font-size: .75rem; min-height: 32px; }
.mail-list-pane .mail-search input { font-size: .8125rem; }
.mail-list-item.unread .mail-row-top b, .mail-list-item.unread .mail-list-item-main > strong { color: #172f49; font-weight: 850; }
.mail-load-more { width: calc(100% - 24px); min-height: 34px; margin: 8px 12px 11px; border: 1px solid #cad7e4; border-radius: 7px; background: #f7fafc; color: #174e7b; font-size: .62rem; font-weight: 750; cursor: pointer; }
.mail-load-more:hover { background: #eaf3fb; }
.mail-list-state { display: grid; place-items: center; align-content: center; gap: 7px; min-height: 240px; padding: 24px; color: #758498; text-align: center; }
.mail-list-state i { width: 24px; height: 24px; border: 2px solid #d3dee8; border-top-color: #0f6cbd; border-radius: 50%; animation: mail-spin .8s linear infinite; }
.mail-list-state b { color: #34465a; font-size: .72rem; }
.mail-list-state span { max-width: 260px; font-size: .62rem; }
@keyframes mail-spin { to { transform: rotate(360deg); } }

/* Panneau de lecture : prend toujours toute la largeur restante. */
.mail-reading-pane { min-width: 0; min-height: 0; overflow-y: auto; padding-bottom: 74px; background: #eef2f6; scrollbar-gutter: stable; }
.mail-empty-state { display: grid; place-items: center; align-content: center; min-height: 100%; padding: 40px; color: #788799; text-align: center; }
.mail-empty-state > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: #eaf1f7; color: #0f6cbd; font-size: 1.35rem; }
.mail-empty-state h2 { margin: 17px 0 5px; color: #34465a; font-family: inherit; font-size: 1rem; }
.mail-empty-state p { max-width: 430px; margin: 0; font-size: .68rem; line-height: 1.5; }
.mail-supervision { margin: 22px; padding: 22px; border: 1px solid #dce3eb; border-radius: 12px; background: #fff; }
.mail-supervision h2 { margin: 3px 0 18px; color: #20364f; font-size: 1.05rem; }
.mail-supervision header small { color: #98733e; font-size: .52rem; font-weight: 850; letter-spacing: .1em; }
.mail-supervision-kpis { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 9px; margin-bottom: 18px; }
.mail-supervision-kpis article { display: grid; gap: 3px; padding: 13px; border-radius: 8px; background: #f2f6fa; }
.mail-supervision-kpis b { color: #173f63; font-size: 1.1rem; }
.mail-supervision-kpis span { color: #6d7d90; font-size: .58rem; }
.mail-supervision table { width: 100%; border-collapse: collapse; font-size: .62rem; }
.mail-supervision th,.mail-supervision td { padding: 9px; border-bottom: 1px solid #e5eaf0; text-align: left; }
.mail-supervision th { color: #68788c; font-size: .53rem; text-transform: uppercase; }
.mail-message-view { position: relative; min-height: 100%; background: #eef2f6; }
.mail-reader-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,310px); align-items: start; min-width: 0; }
.mail-reader-layout:has(.mail-context-panel.collapsed) { grid-template-columns: minmax(0,1fr) 190px; }
.mail-reader-main { min-width: 0; }
.mail-message-actions { position: sticky; z-index: 4; top: 0; display: flex; align-items: stretch; min-height: 62px; padding: 6px 14px; overflow-x: auto; border-bottom: 1px solid #dce3eb; background: rgba(250,251,252,.97); backdrop-filter: blur(12px); scrollbar-width: thin; }
.mail-message-actions button { display: grid; place-items: center; gap: 3px; min-width: 72px; min-height: 48px; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; color: #425970; cursor: pointer; }
.mail-message-actions button:hover { background: #eaf1f7; color: #0f548c; }
.mail-message-actions button:focus-visible { outline: 2px solid #0f6cbd; outline-offset: -2px; }
.mail-message-actions button:disabled { opacity: .42; cursor: not-allowed; }
.mail-message-actions button:disabled:hover { background: transparent; color: #425970; }
.mail-message-actions button span { font-size: 1.05rem; line-height: 1; }
.mail-message-actions button b { font-size: .61rem; line-height: 1.15; white-space: nowrap; }
.mail-reader-back { display: none !important; }
.mail-message-header { display: grid; grid-template-columns: 43px minmax(0,1fr) minmax(132px,auto); gap: 10px 12px; align-items: start; margin: 18px 22px 0; padding: 22px 24px 19px; border: 1px solid #dce3eb; border-bottom: 0; border-radius: 12px 12px 0 0; background: #fff; }
.mail-message-header h2 { grid-column: 1 / -1; }
.mail-sender-avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #dce9f5; color: #174e7b; font-size: .67rem; font-weight: 850; }
.mail-message-header div { min-width: 0; }
.mail-message-header h2 { margin: 0 0 7px; color: #172f49; font-family: inherit; font-size: 1.15rem; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.mail-message-header p { overflow: hidden; margin: 0 0 5px; color: #34465a; font-size: .68rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.mail-recipient-summary { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
.mail-recipient-summary small { display: block; min-width: 0; overflow: hidden; color: #68788c; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.mail-recipient-summary.expanded { align-items: flex-start; flex-direction: column; }
.mail-recipient-summary.expanded small { overflow: visible; white-space: normal; overflow-wrap: anywhere; }
.mail-recipient-summary button { flex: none; padding: 0; border: 0; background: transparent; color: #0f548c; font-size: .55rem; cursor: pointer; }
.mail-message-header time { color: #69798c; font-size: .59rem; line-height: 1.4; text-align: right; white-space: normal; }
.mail-work-card { margin: 0 22px; padding: 12px 14px; border: 1px solid #dce4ed; border-top: 0; background: #f7fafc; }
.mail-work-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mail-work-card > header b { color: #30465d; font-size: .68rem; }
.mail-work-card > header span { padding: 4px 8px; border-radius: 999px; background: #dfeefa; color: #0f548c; font-size: .55rem; font-weight: 800; }
.mail-work-facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 7px 12px; margin-top: 9px; }
.mail-work-facts p { display: grid; gap: 2px; margin: 0; }
.mail-work-facts b { color: #788697; font-size: .49rem; text-transform: uppercase; }
.mail-work-facts span { color: #34495f; font-size: .57rem; overflow-wrap: anywhere; }
.mail-work-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.mail-work-actions button { padding: 6px 9px; border: 1px solid #bfd3e4; border-radius: 6px; background: #fff; color: #0f548c; font-size: .55rem; font-weight: 750; cursor: pointer; }
.mail-work-loading,.mail-work-error { color: #758498; font-size: .59rem; }
.mail-work-error { color: #8a3e39; }
.mail-attachments { margin: 0 22px; padding: 13px; border: 1px solid #dce4ed; border-top: 0; border-radius: 0; background: #f7f9fb; }
.mail-attachments > header { display: flex; justify-content: space-between; margin-bottom: 9px; }
.mail-attachments > header b { color: #34465a; font-size: .68rem; }
.mail-attachments > header small { color: #7a899a; font-size: .56rem; }
.mail-attachments > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 8px; }
.mail-attachment-card { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid #d7e0e9; border-radius: 7px; background: #fff; }
.mail-attachment-card > span { color: #174e7b; }
.mail-attachment-card div { display: grid; min-width: 0; }
.mail-attachment-card b { overflow: hidden; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.mail-attachment-card small { color: #7b8999; font-size: .53rem; }
.mail-attachment-state.classified { color: #34704d; font-weight: 800; }
.mail-attachment-intelligence { display: grid; grid-template-columns: repeat(2,minmax(130px,1fr)); gap: 5px 14px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #e7ebf0; }
.mail-attachment-intelligence > strong { grid-column: 1/-1; padding: 6px 8px; border-radius: 6px; background: #fff3dc; color: #795d23; font-size: .58rem; }
.mail-attachment-intelligence p { display: grid; gap: 1px; margin: 0; min-width: 0; }
.mail-attachment-intelligence p b { color: #788697; font-size: .49rem; text-transform: uppercase; }
.mail-attachment-intelligence p span { overflow-wrap: anywhere; color: #34465a; font-size: .57rem; }
.mail-attachment-decisions { display: flex !important; grid-column: 1/-1; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.mail-attachment-decisions button { padding: 6px 8px; border: 1px solid #cbd6e1; border-radius: 6px; background: #fff; color: #29466f; font-size: .54rem; cursor: pointer; }
.mail-attachment-decisions .context-primary { border-color: #29466f; background: #29466f; color: #fff; }
.mail-attachment-editor { display: grid !important; grid-template-columns: minmax(150px,1fr) minmax(130px,1fr) auto; flex: 1 0 100%; gap: 5px; }
.mail-attachment-editor[hidden] { display: none !important; }
.mail-attachment-editor select { min-width: 0; padding: 6px; border: 1px solid #cbd6e1; border-radius: 6px; background: #fff; font-size: .54rem; }
.mail-attachment-card a { padding: 5px 7px; border-radius: 5px; background: #eaf3fb; color: #0f548c; font-size: .54rem; font-weight: 750; text-decoration: none; }
.mail-attachment-save { grid-column: 2 / -1; padding: 9px; border: 1px solid #b9cde0; border-radius: 6px; background: #eaf3fb; color: #174e7b; text-align: left; cursor: pointer; }
.mail-attachment-filing { grid-column: 1 / -1; display: grid; gap: 10px; min-width: 0; padding: 10px; background: #f2f6fa; border-radius: 6px; }
.mail-attachment-filing label { display: grid; gap: 4px; font-size: .8rem; }
.mail-attachment-filing select { width: 100%; min-width: 0; padding: 8px; border: 1px solid #b9cde0; border-radius: 5px; background: white; }
.mail-attachment-filing button { padding: 9px; border: 1px solid #b9cde0; border-radius: 5px; cursor: pointer; }
.mail-attachment-filing button[type="submit"] { background: #174e7b; color: white; }
.mail-attachment-filing p { margin: 0; font-size: .8rem; overflow-wrap: anywhere; }
.mail-body { min-width: 0; min-height: 310px; margin: 0 22px 18px; overflow: hidden; border: 1px solid #dce3eb; border-radius: 0 0 12px 12px; background: #fff; box-shadow: 0 10px 28px rgba(35,54,78,.06); }
.mail-message-header + .mail-attachments[hidden] + .mail-body { border-radius: 0 0 12px 12px; }
.mail-body-loading, .mail-body-error { padding: 28px; color: #758498; font-size: .68rem; }
.mail-text-body { padding: 28px 32px; color: #2d4055; font-size: .76rem; line-height: 1.72; white-space: pre-wrap; overflow-wrap: anywhere; }
.mail-body:has(.mail-html-frame) { display: grid; grid-template-rows: auto minmax(420px,calc(100vh - 348px)); }
.mail-html-frame { width: 100%; height: 100%; min-height: 420px; border: 0; background: #fff; }
.mail-privacy-notice { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; padding: 6px 12px; border-bottom: 1px solid #e4d3b2; background: #fff8e9; color: #74591f; font-size: .59rem; }
.mail-privacy-notice span { display: flex; align-items: center; gap: 7px; }
.mail-privacy-notice > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.mail-privacy-notice i { color: #9a762f; font-style: normal; font-size: .52rem; }
.mail-privacy-notice button { padding: 5px 8px; border: 1px solid #d6bd89; border-radius: 5px; background: #fff; color: #6b501d; font-size: .56rem; cursor: pointer; }
.mail-privacy-notice button:disabled { cursor: default; opacity: .45; }

.mail-image-settings { display: grid; gap: 20px; max-width: 860px; padding: 26px; border: 1px solid #dce3eb; border-radius: 16px; background: #fff; box-shadow: 0 12px 34px rgba(25,43,68,.06); }
.mail-image-settings > header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.mail-image-settings h2 { margin: 4px 0; color: #172a49; font-family: Georgia,serif; font-weight: 500; }
.mail-image-settings p { margin: 0; color: #758195; font-size: .72rem; }
.mail-image-settings > header small { color: #52745d; font-size: .62rem; }
.mail-image-settings fieldset { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.mail-image-settings legend,.mail-image-settings h3 { margin-bottom: 10px; color: #34435a; font-size: .73rem; font-weight: 800; }
.mail-image-settings fieldset label { display: grid; grid-template-columns: 22px 1fr; gap: 8px; padding: 13px; border: 1px solid #e0e6ed; border-radius: 10px; cursor: pointer; }
.mail-image-settings fieldset label:has(input:checked) { border-color: #7592b4; background: #f1f6fb; }
.mail-image-settings fieldset span { display: grid; gap: 3px; }
.mail-image-settings fieldset b { color: #29466f; font-size: .7rem; }
.mail-image-settings fieldset small,.mail-image-settings [data-image-rules] small { color: #758195; font-size: .61rem; }
.mail-image-settings [data-image-rules] { display: grid; gap: 6px; color: #758195; font-size: .65rem; }
.mail-image-settings [data-image-rules] > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border-radius: 8px; background: #f6f8fa; }
.mail-image-settings [data-image-rules] span { display: grid; }
.mail-image-settings [data-image-rules] button { padding: 5px 8px; border: 1px solid #d6dee7; border-radius: 6px; background: #fff; color: #536177; cursor: pointer; }
.mail-context-panel { position: sticky; top: 76px; max-height: calc(100vh - 160px); margin: 18px 18px 28px 0; overflow: hidden; border: 1px solid #d8e1ea; border-radius: 12px; background: #f7f9fc; box-shadow: 0 8px 24px rgba(35,54,78,.06); }

body.mailbox-mode .carla-dock { right: 18px; bottom: 16px; width: 46px; height: 46px; padding: 5px; overflow: hidden; border-radius: 50%; }
body.mailbox-mode .carla-dock span { flex: 0 0 34px; }
body.mailbox-mode .carla-dock b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mail-context-panel > header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; }
.mail-context-panel header span { color: #98733e; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }
.mail-context-panel h3 { margin: 2px 0 0; font-size: .73rem; }
.mail-context-panel header button { border: 0; background: transparent; color: #5f7288; font-size: .57rem; cursor: pointer; }
.mail-context-content { padding: 0 14px 14px; }
.mail-context-content p { margin: 0 0 10px; color: #6d7d90; font-size: .62rem; line-height: 1.5; }
.mail-context-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.mail-context-actions button { min-height: 31px; padding: 6px 10px; border: 1px solid #d2dce6; border-radius: 6px; background: #fff; color: #294b69; font-size: .57rem; font-weight: 750; cursor: pointer; }
.mail-context-panel.collapsed { align-self: start; }
.mail-context-panel.collapsed .mail-context-content { display: none; }
.mail-context-panel:not(.collapsed) .mail-context-content { max-height: calc(100vh - 225px); overflow-y: auto; scrollbar-gutter: stable; }
.mail-context-loading { display: grid; justify-items: center; gap: 8px; padding: 25px 8px; text-align: center; }
.mail-context-loading i { width: 22px; height: 22px; border: 2px solid #d3dee8; border-top-color: #0f6cbd; border-radius: 50%; animation: mail-spin .8s linear infinite; }
.mail-context-error { padding: 12px; border-radius: 7px; background: #fff1f0; color: #8a3e39; font-size: .61rem; }
.mail-context-card { margin-bottom: 10px; padding: 11px; border: 1px solid #e0e6ed; border-radius: 9px; background: #fff; }
.mail-context-card > h4 { display: flex; align-items: center; gap: 7px; margin: 0 0 9px; color: #31485f; font-size: .64rem; }
.mail-context-card > h4 span { color: #9a7441; font-size: .7rem; }
.mail-context-card > div > p:not(.mail-context-summary) { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 6px; margin: 0 0 5px; }
.mail-context-card > div > p b { color: #758397; font-size: .54rem; }
.mail-context-card > div > p span { min-width: 0; color: #34495f; font-size: .58rem; overflow-wrap: anywhere; }
.mail-context-summary { color: #4e6074 !important; line-height: 1.55 !important; }
.mail-context-card button { min-height: 29px; padding: 5px 8px; border: 1px solid #d3dde7; border-radius: 6px; background: #f9fbfd; color: #285170; font-size: .54rem; font-weight: 720; cursor: pointer; }
.mail-context-card button:hover { border-color: #9dbbd3; background: #edf5fb; }
.mail-context-card button.context-primary { width: 100%; border-color: #bfd3e4; background: #eaf3fb; color: #0f548c; }
.mail-context-inline-actions, .mail-history-filters, .mail-context-shortcuts { display: flex; flex-wrap: wrap; gap: 5px; }
.mail-context-inline-actions { margin-top: 8px; }
.mail-context-document { display: block; width: 100%; margin-bottom: 5px; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.mail-detection, .mail-context-attachment { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-bottom: 6px; padding: 7px; border-radius: 6px; background: #f5f8fb; color: #465c71; font-size: .56rem; }
.mail-detection.urgent { border-left: 3px solid #b84c47; background: #fff3f2; }
.mail-context-attachment > span { min-width: 0; overflow-wrap: anywhere; }
.mail-history-filters { margin-bottom: 8px; }
.mail-history-filters button.active { border-color: #9dbbd3; background: #dfeefa; color: #0f548c; }
.mail-context-timeline { display: grid; gap: 3px; }
.mail-context-timeline > b { margin-top: 6px; color: #7a8999; font-size: .51rem; text-transform: uppercase; letter-spacing: .05em; }
.mail-context-timeline button { min-height: 25px; overflow: hidden; border: 0; background: transparent; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.mail-context-timeline button:disabled { opacity: 1; color: #566a7e; cursor: default; }
.mail-suggestion-list { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.mail-context-shortcuts { position: sticky; bottom: 0; padding: 8px; border: 1px solid #dce4ec; border-radius: 8px; background: rgba(255,255,255,.96); }
.mail-context-shortcuts button { flex: 1 1 70px; min-height: 28px; border: 0; border-radius: 5px; background: #eef4f8; color: #315775; font-size: .52rem; cursor: pointer; }
.mail-attachment-state { color: #93685f !important; }
.mail-attachment-state.classified { color: #347452 !important; }

/* Le formulaire historique conserve sa gouvernance, mais devient un composeur unique. */
.mail-compose-host .outlook-compose, .mail-compose-host .mail-preview { position: fixed !important; z-index: 110; right: 22px !important; bottom: 18px !important; width: min(720px,calc(100vw - 44px)) !important; max-height: calc(100vh - 90px); overflow: auto; margin: 0 !important; }
.mail-compose-host .outlook-compose[hidden], .mail-compose-host .mail-preview[hidden] { display: none !important; }

@media (max-width: 1600px) {
  .mail-reader-layout, .mail-reader-layout:has(.mail-context-panel.collapsed) { display: block; }
  .mail-context-panel { position: static; max-height: none; margin: 0 22px 28px; }
  .mail-context-panel:not(.collapsed) .mail-context-content { max-height: none; }
}

@media (max-width: 1120px) {
  body.mailbox-mode .topbar { grid-template-columns: auto minmax(150px,1fr) auto auto !important; }
  body.mailbox-mode .topbar .ui-size-controls { display: none; }
  body.mailbox-mode .topbar .connection { display: none; }
  .messaging-layout { grid-template-columns: 190px minmax(360px,400px) minmax(0,1fr) !important; }
  .mail-message-actions button { min-width: 64px; }
  .mail-message-header { grid-template-columns: 38px minmax(0,1fr); padding: 20px; }
  .mail-message-header time { grid-column: 2; text-align: left; }
}
@media (max-width: 1100px) and (min-width: 901px) {
  body.mailbox-mode { --carla-main-nav-width: 82px; }
}
@media (max-width: 900px) {
  body.mailbox-mode .portal-shell { display: block !important; }
  body.mailbox-mode .primary-sidebar { display: none; width: min(292px,88vw) !important; }
  body.mailbox-mode .app-shell { width: 100vw !important; margin-left: 0 !important; padding-top: 64px !important; }
  body.mailbox-mode .topbar { left: 0 !important; grid-template-columns: 38px auto minmax(130px,1fr) auto auto !important; }
  body.mailbox-mode .topbar .mobile-menu { display: block; }
  .messaging-layout { grid-template-columns: 190px minmax(320px,1fr) !important; }
  .mail-reading-pane { position: absolute; z-index: 20; inset: 0; display: none; }
  .mail-reading-pane:has(.mail-message-view) { display: block; }
  .mail-message-view::before { display: block; padding: 9px 14px; border-bottom: 1px solid #dce3eb; background: #f7f9fb; color: #0f548c; content: "← Retour à la liste"; font-size: .64rem; font-weight: 750; }
  .mail-reader-back { display: grid !important; }
}
@media (max-width: 620px) {
  body.mailbox-mode .topbar { grid-template-columns: 38px minmax(0,1fr) auto auto !important; }
  body.mailbox-mode .topbar .app-breadcrumb { display: none; }
  .messaging-layout { display: block !important; overflow-y: auto; }
  .mail-sidebar { min-height: auto; border-right: 0; border-bottom: 1px solid #dce3eb; }
  .mail-folder-list { display: flex; margin-top: 10px; overflow-x: auto; }
  .mail-folder-list button { flex: 0 0 auto; width: auto; }
  .mail-account-status { display: none; }
  .mail-list-pane { height: calc(100vh - 190px); border-right: 0; }
  .mail-reading-pane { position: fixed; top: 64px; }
  .mail-message-header { padding: 17px 14px; }
  .mail-message-header time { white-space: normal; }
  .mail-text-body { padding: 20px 16px; }
  .mail-reader-layout { display: block; }
  .mail-attachments, .mail-context-panel { margin-inline: 14px; }
  .mail-context-panel { position: static; max-height: none; margin-top: 0; }
  .mail-context-panel:not(.collapsed) .mail-context-content { max-height: none; }
}
.mail-intervention-proposal { margin-top: 14px; border: 1px solid #d6cbe8; border-radius: 9px; background: #faf8fd; }
.mail-intervention-proposal > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 11px 14px; border-radius: 9px; color: #624384; font-size: .8125rem; font-weight: 750; cursor: pointer; list-style: none; }
.mail-intervention-proposal > summary::-webkit-details-marker { display: none; }
.mail-intervention-proposal > summary:hover { background: #eee7f7; }
.mail-intervention-proposal > summary:focus-visible { outline: 3px solid #715398; outline-offset: 2px; }
.mail-sources-chevron { font-size: 1.2rem; line-height: 1; }
.mail-intervention-proposal[open] > summary { border-bottom: 1px solid #ded4eb; border-radius: 9px 9px 0 0; }
.mail-intervention-proposal[open] .mail-sources-chevron { transform: rotate(180deg); }
.mail-sources-content { display: grid; gap: 12px; padding: 16px; min-width: 0; }
.mail-sources-content > p { margin: 0; color: #526176; font-size: .8125rem; line-height: 1.5; }
.mail-sources-content label { display: grid; gap: 6px; min-width: 0; font-size: .8125rem; }
.mail-sources-content textarea,.mail-sources-content select,.mail-sources-content input { max-width: 100%; min-width: 0; }
.mail-proposal-source-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.mail-proposal-source-actions > label { flex: 1 1 180px; }
.mail-quick-reply-panel{position:absolute;z-index:20;top:64px;left:18px;width:min(520px,calc(100% - 36px));padding:18px;border:1px solid #d8e1ec;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(23,42,73,.18)}
.mail-quick-reply-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mail-quick-reply-panel header small{color:#63758b;font-weight:800;letter-spacing:.08em}.mail-quick-reply-panel h3{margin:4px 0 0;color:#172a49}.mail-quick-reply-panel header button{border:0;background:transparent;color:#52657c;font-size:24px}.mail-quick-reply-panel>p{margin:10px 0 14px;color:#63758b;font-size:13px}.mail-quick-reply-panel>div{display:grid;gap:8px}.mail-quick-reply-choice{display:grid;gap:4px;padding:12px 14px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc;color:#223852;text-align:left}.mail-quick-reply-choice:hover,.mail-quick-reply-choice:focus{border-color:#0f6cbd;background:#eef6fc;outline:none}.mail-quick-reply-choice span{display:-webkit-box;overflow:hidden;color:#5c6e82;font-size:12px;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mail-quick-reply-loading{padding:14px;color:#63758b;font-size:13px}
.mail-quick-reply-choice{position:relative}
.mail-quick-reply-choice>span:not(.mail-quick-reply-preview){display:-webkit-box;overflow:hidden;color:#5c6e82;font-size:12px;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mail-quick-reply-preview{position:fixed;z-index:10000;left:50%;top:50%;display:block;box-sizing:border-box;visibility:hidden;width:min(820px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;padding:24px 26px;border:1px solid #b9cbe0;border-radius:14px;background:#fff;color:#223852;font-size:14px;line-height:1.6;white-space:pre-wrap;opacity:0;box-shadow:0 22px 65px rgba(23,42,73,.3);pointer-events:none;transform:translate(-50%,calc(-50% - 4px));transition:opacity .15s ease,transform .15s ease,visibility .15s}
.mail-quick-reply-choice:hover,.mail-quick-reply-choice:focus{z-index:3}
.mail-quick-reply-preview.is-visible{visibility:visible!important;opacity:1!important;transform:translate(-50%,-50%)!important}
.mail-quick-reply-actions{margin-top:8px;padding-top:12px;border-top:1px solid #e2e8f0}.mail-quick-reply-actions h4{margin:0 0 8px;color:#63758b;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.mail-quick-reply-actions div{display:flex;flex-wrap:wrap;gap:7px}.mail-quick-reply-actions button{padding:8px 10px;border:1px solid #dce4ed;border-radius:9px;background:#fff;color:#35506f;font-size:12px}
.mail-quick-reply-summary{display:flex;justify-content:space-between;gap:12px;margin:0 0 4px;padding:10px 12px;border-radius:9px;background:#eef6fc;color:#294b6d;font-size:12px}.mail-ai-draft-tools{padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc}.mail-ai-draft-tools>b{display:block;margin-bottom:8px;color:#42556d;font-size:12px}.mail-ai-draft-tools>div{display:flex;flex-wrap:wrap;gap:6px}.mail-ai-draft-tools button{padding:7px 9px;border:1px solid #d7e0ea;border-radius:8px;background:#fff;color:#35506f;font-size:12px}.mail-ai-draft-tools>[data-custom]{margin-top:7px}.mail-ai-draft-tools small{display:block;margin-top:7px;color:#63758b}
.mail-ai-draft-tools{display:grid;gap:8px;padding:8px 14px;border-top:1px solid #e2e7ed;background:#f8fafc;color:#34435a}.mail-ai-bar,.mail-ai-secondary{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mail-ai-draft-tools button,.mail-ai-draft-tools select{min-height:30px;padding:6px 9px;border:1px solid #d6dee8;border-radius:7px;background:#fff;color:#29466f;font:inherit;font-size:.66rem;font-weight:750;cursor:pointer}.mail-ai-draft-tools button[data-toggle]{border-color:#bda06f;background:#fffaf0;color:#725629}.mail-ai-draft-tools button:disabled{cursor:not-allowed;opacity:.5}.mail-ai-panel{display:grid;gap:8px;padding:10px;border:1px solid #e0e6ed;border-radius:9px;background:#fff}.mail-ai-panel label{display:grid;gap:5px;color:#536177;font-size:.66rem;font-weight:750}.mail-ai-panel textarea{min-height:54px!important;padding:9px!important;border:1px solid #dce3eb!important;border-radius:7px!important}.mail-ai-draft-tools>[role=status]{min-height:1em;color:#66758a;font-size:.62rem}.mail-ai-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid #dce3eb;border-radius:9px;background:#fff}.mail-ai-preview>div{min-width:0}.mail-ai-preview small,.mail-ai-subjects>small{display:block;margin-bottom:5px;color:#8a7047;font-size:.58rem;font-weight:850;text-transform:uppercase}.mail-ai-preview pre,.mail-ai-preview textarea{width:100%;max-height:190px;min-height:100px!important;margin:0;padding:9px!important;overflow:auto;border:1px solid #e2e7ed!important;border-radius:7px!important;background:#fafbfd!important;color:#34435a;font:12px/1.5 Arial,sans-serif;white-space:pre-wrap}.mail-ai-preview>[data-warnings]{grid-column:1/-1;margin:0;color:#8b5d25;font-size:.66rem;white-space:pre-line}.mail-ai-preview>footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px}.mail-ai-subjects{padding:9px;border:1px solid #dce3eb;border-radius:9px;background:#fff}.mail-ai-subjects>div{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:620px){.mail-ai-preview{grid-template-columns:1fr}.mail-ai-preview>[data-warnings],.mail-ai-preview>footer{grid-column:1}}
.mail-ai-preview{grid-template-columns:1fr;width:100%;padding:14px;scroll-margin-top:80px}.mail-ai-subjects{scroll-margin-top:80px}.mail-ai-preview textarea{min-height:260px!important;max-height:520px;padding:14px!important;font-size:14px;line-height:1.6}
/* Rédaction : destinataires et pièces jointes. */
#mail-form .mail-client-recipient[hidden]{display:none!important}
#mail-form .mail-extra-recipients:empty{display:none}
#mail-form .mail-extra-recipients>div{display:flex;align-items:end;gap:10px;margin:10px 0}
#mail-form .mail-extra-recipients label{display:grid;gap:6px;flex:1;min-width:0}
#mail-form .mail-extra-recipients input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #b5c5d8;border-radius:8px;font:inherit}
#mail-form :is(#mail-add-recipient,#mail-files-from-matter),#mail-form .mail-extra-recipients button{padding:10px 14px;min-height:44px;border:1px solid #b5c5d8;border-radius:8px;background:#f5f8fc;color:#20466e;cursor:pointer;justify-self:start}
#mail-form .mail-file-drop{display:grid;gap:8px;padding:18px!important;border:2px dashed #9fb4ce!important;border-radius:12px;background:#f5f8fc;cursor:pointer}
#mail-form .mail-file-drop small{color:#435b78}
#mail-form .mail-file-drop.is-dragging{border-color:#2168a0!important;background:#e5f1ff}
#mail-form #mail-files-status{color:#435b78;font-size:13px}
.mail-matter-files-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-height:90vh;overflow:auto;border:1px solid #bccbdb;border-radius:16px;padding:22px;background:#fff;color:#233c5b}
.mail-matter-files-dialog::backdrop{background:#142b4666}
.mail-matter-files-dialog header{display:flex;justify-content:space-between;align-items:start;gap:12px}
.mail-matter-files-dialog h2{font-size:20px;margin:0 0 18px}
.mail-matter-files-dialog>label{display:grid;gap:8px;margin:12px 0}
.mail-matter-files-dialog :is(select,input:not([type=checkbox])){width:100%;box-sizing:border-box;min-height:44px;padding:10px;border:1px solid #b5c5d8;border-radius:8px;font:inherit}
.mail-matter-files-dialog button{padding:10px 14px;min-height:44px;border:1px solid #b5c5d8;border-radius:8px;background:#f2f6fc;color:#20466e;cursor:pointer}
.mail-matter-file-list{max-height:45vh;overflow:auto;margin:16px 0}
.mail-matter-file-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #dce4ed}
.mail-matter-file-list label{display:flex;gap:10px;align-items:center;min-width:0;overflow-wrap:anywhere}
.mail-matter-file-list a{padding:10px;color:#255b88}
.mail-matter-files-dialog [role=status]{font-size:13px;color:#435b78}
@media(max-width:600px){.mail-matter-files-dialog{padding:16px}.mail-matter-file-list{max-height:35vh}#mail-form .mail-extra-recipients>div{align-items:center}}
#mail-form .mail-file-drop{grid-template-columns:minmax(0,1fr)!important}
#mail-form .mail-file-drop :is(span,small,input){grid-column:1/-1;width:auto;max-width:100%;box-sizing:border-box}
.mail-work-facts select,.mail-work-edit-date{box-sizing:border-box;min-height:38px;max-width:100%;width:100%;padding:7px 8px;border:1px solid #bac9da;border-radius:7px;background:#fff;color:#233e5b;font:inherit;font-size:12px;cursor:pointer;text-align:left}
.mail-work-facts b{color:#4b6079;font-size:10px}
.mail-work-facts span{font-size:12px}
.mail-work-save-status{font-size:12px;color:#465f7d;margin:8px 0}
.mail-work-save-status:empty{display:none}
.mail-work-date-form{display:flex;flex-wrap:wrap;gap:6px}
.mail-work-date-form input{width:100%;min-width:0;box-sizing:border-box;padding:8px;border:1px solid #98aec9;border-radius:7px;font:inherit}
.mail-work-date-form button{min-height:36px;padding:6px 9px;border:1px solid #bac9da;border-radius:7px;background:#f2f6fc;color:#233e5b}
.mail-work-facts :is(input,select,button):focus-visible{outline:2px solid #2a699e;outline-offset:2px}
@media(max-width:600px){.mail-work-facts{grid-template-columns:minmax(0,1fr)}.mail-work-facts select,.mail-work-edit-date{min-height:44px}}

.mail-recipient-suggestions {display:flex; flex-direction:column; gap:3px; padding:6px; margin-top:4px; max-height:300px; overflow-y:auto; border:1px solid #ccd7e1; border-radius:9px; background:#fff; box-shadow:0 4px 14px #24344715;}
.mail-recipient-suggestions[hidden] {display:none;}
.mail-recipient-suggestions button {display:flex; flex-direction:column; align-items:flex-start; gap:3px; width:100%; padding:9px 11px; border:0; border-radius:6px; background:transparent; color:#21364a; text-align:left; white-space:normal; overflow-wrap:anywhere; cursor:pointer;}
.mail-recipient-suggestions button:hover,.mail-recipient-suggestions button[aria-selected=true] {background:#eaf3fc;}
.mail-recipient-suggestions button span,.mail-recipient-suggestions p {font-size:13px; color:#566879;}
.mail-recipient-suggestions p {margin:6px;}
#mail-form > label:has(> #mail-recipient),#mail-extra-recipients label:has(> [data-extra-recipient]) {position:relative;}
#mail-form > label > .mail-recipient-suggestions {position:absolute; z-index:120; top:100%; left:96px; right:18px; min-width:0; width:auto; margin:0;}
#mail-extra-recipients .mail-recipient-suggestions {position:absolute; z-index:120; top:100%; left:0; right:0; min-width:0; margin:0;}
.mail-recipient-suggestions button strong {font-size:14px; line-height:1.4;}
@media(max-width:600px){#mail-form > label > .mail-recipient-suggestions{left:18px;}}

.mail-badge-treated { background: #e6f3ec; color: #225d40; border: 1px solid #b5d9c3; }
.mail-badge-untreated { background: #fff4dc; color: #765018; border: 1px solid #e5cea0; }

#mail-form .mail-original-message{min-width:0;margin:0;border-top:1px solid #e2e9f1;background:#f8fafd}
#mail-form .mail-original-message>summary{padding:14px 22px;cursor:pointer;color:#29466f;font-size:.88rem;overflow-wrap:anywhere}
#mail-form .mail-original-message>summary:hover{background:#eef3fa}
#mail-form .mail-original-message>summary:focus-visible{outline:2px solid #0f6cbd;outline-offset:-3px}
#mail-form .mail-original-message>summary span{display:block;margin:6px 0 0 17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#63758b;font-size:.8rem}
#mail-form .mail-original-meta,#mail-form .mail-original-message>[role=status]{margin:0;padding:8px 22px;color:#63758b;font-size:.8rem;overflow-wrap:anywhere}
#mail-form .mail-original-message>[role=status]:empty{display:none}
#mail-form .mail-original-body{max-height:360px;overflow:auto;padding:12px 22px 20px;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.65 Arial,sans-serif;color:#263b53}
/* Carla compose window: one title, progressive tools and persistent send review. */
#mail-form.outlook-compose{box-sizing:border-box;width:min(760px,calc(100vw - 40px))!important;max-height:calc(100dvh - 90px)!important;border:1px solid #cad7e5!important;border-radius:18px!important;box-shadow:0 24px 80px #172a4933!important;background:#fff!important;color:#263b53}
#mail-form.outlook-compose>header{position:sticky;top:0;z-index:5;padding:15px 20px;background:linear-gradient(115deg,#203d61,#31557c);border-bottom:1px solid #456180}
#mail-form.outlook-compose>header h2{font-size:1.05rem;letter-spacing:0;font-family:inherit!important;font-weight:700!important}
#mail-form .outlook-mark{width:38px;height:38px;border:1px solid #ffffff38;border-radius:12px;background:#ffffff14;font-size:1.2rem}
#mail-form .mail-compose-window-actions{gap:6px}
#mail-form .mail-compose-window-actions button{display:grid;place-items:center;min-width:38px;min-height:38px;border-radius:9px;color:#fff;font-size:1.35rem;cursor:pointer;transition:background .15s}
#mail-form .mail-compose-window-actions button:hover{background:#ffffff24}
#mail-form.outlook-compose>label{grid-template-columns:48px minmax(0,1fr);padding:5px 22px}
#mail-form.outlook-compose>label>span{font-size:.85rem;color:#576b83}
#mail-form.outlook-compose>label input{min-width:0;font-size:.9rem!important;background:transparent}
#mail-form.outlook-compose #mail-add-recipient{min-height:34px;margin:8px 22px;padding:6px 10px;border:0;border-radius:8px;background:#eef3f9;font-size:.78rem}
#mail-form .mail-extra-recipients:not(:empty){padding:0 22px}
#mail-form.outlook-compose .outlook-message-body{padding:0}
#mail-form.outlook-compose #mail-body{box-sizing:border-box;width:100%;min-height:260px;padding:22px!important;font:15px/1.75 Arial,sans-serif!important;resize:vertical;background:#fff;color:#263b53}
#mail-form textarea::placeholder,#mail-form input::placeholder{color:#77869a;opacity:1}
#mail-form .mail-compose-help{margin:0;border-top:1px solid #e2e9f1;background:#fbfcfe}
#mail-form .mail-compose-help>summary{padding:14px 22px;color:#29466f;font-size:.88rem;font-weight:750;cursor:pointer;list-style-position:inside}
#mail-form .mail-compose-help>summary:hover{background:#eef3fa}
#mail-form .mail-compose-help[open]>summary{background:#edf3fa}
#mail-form .mail-ai-draft-tools{padding:12px 20px;background:#f7f9fc}
#mail-form .mail-ai-bar{gap:8px}
#mail-form .mail-ai-draft-tools :is(button,select){min-height:38px;padding:8px 11px;border-radius:9px;font-size:.8rem}
#mail-form .mail-compose-attachments{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:14px 22px;background:#fff;border-top:1px solid #e2e9f1}
#mail-form .mail-compose-attachments #mail-file-drop{position:relative;grid-column:1;grid-template-columns:1fr;padding:12px!important;gap:5px;border:1px dashed #becde0!important;border-radius:10px;background:#f8fafd}
#mail-form #mail-file-drop>span{font-size:.84rem;font-weight:700}
#mail-form #mail-file-drop>small{font-size:.73rem}
#mail-form #mail-document{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#mail-form #mail-file-drop:focus-within{outline:3px solid #a27b3f;outline-offset:2px}
#mail-form .mail-compose-attachments #mail-files-from-matter{grid-column:2;grid-row:1;min-height:42px;padding:10px;background:#f1f5fa;font-size:.8rem}
#mail-form .mail-compose-attachments>.outlook-attachment:not(.mail-file-drop){grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:2px 0;color:#576b83;font-size:.8rem}
#mail-form #mail-attach-rib{width:16px;height:16px;margin:0;accent-color:#29466f}
#mail-form .mail-local-attachments{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:0;padding:0;list-style:none}
#mail-form .mail-local-attachments:empty,#mail-form .mail-compose-attachments>p:empty,#mail-form #mail-send-status:empty{display:none}
#mail-form .mail-local-attachments li{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;border:1px solid #d9e2ed;border-radius:10px;background:#f7f9fc;font-size:.8rem;overflow-wrap:anywhere}
#mail-form .mail-local-attachments button{flex:none;padding:7px 9px;border:1px solid #d4dfea;border-radius:8px;background:#fff;color:#375471;cursor:pointer}
#mail-form .mail-compose-attachments>p{grid-column:1/-1;margin:0;font-size:.8rem}
#mail-form.outlook-compose>footer{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px 20px;border-top:1px solid #dce5ee;background:#f8fafd}
#mail-form.outlook-compose>footer>button{flex:none;min-height:46px;padding:12px 18px;border-radius:11px;background:#29466f;color:#fff;font-size:.86rem;cursor:pointer;box-shadow:0 4px 12px #29466f20}
#mail-form.outlook-compose>footer>small{max-width:280px;color:#66758a;font-size:.76rem;line-height:1.5}
#mail-form.outlook-compose.mail-compose-expanded{inset:80px 24px 18px!important;width:auto!important;height:calc(100dvh - 98px)!important;max-height:none!important}
#mail-form.mail-compose-expanded #mail-body{min-height:38vh}
#mail-form :is(button,summary,input,textarea,select):focus-visible{outline:3px solid #ae8a50;outline-offset:2px}
@media(max-width:600px){#mail-form.outlook-compose,#mail-form.outlook-compose.mail-compose-expanded{inset:64px 8px 8px!important;width:calc(100vw - 16px)!important;height:auto!important;max-height:calc(100dvh - 72px)!important;border-radius:14px!important}#mail-form.outlook-compose>header{padding:12px 14px}#mail-form.outlook-compose>label{padding-inline:14px}#mail-form.outlook-compose #mail-body{min-height:220px;padding:16px!important}#mail-form .mail-compose-attachments{padding:12px 14px;grid-template-columns:1fr}#mail-form .mail-compose-attachments #mail-files-from-matter{grid-column:1;grid-row:auto}#mail-form .mail-local-attachments{grid-template-columns:1fr}#mail-form.outlook-compose>footer{flex-direction:column-reverse;gap:8px;padding:12px 14px}#mail-form.outlook-compose>footer>button{width:100%}#mail-form.outlook-compose>footer>small{max-width:none;font-size:.7rem;text-align:center}#mail-form .mail-ai-draft-tools{padding:12px}#mail-form .mail-compose-help>summary{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){#mail-form .mail-compose-window-actions button{transition:none}}
#mail-form.outlook-compose *,#mail-form.outlook-compose *::before,#mail-form.outlook-compose *::after{box-sizing:border-box}
#mail-form.outlook-compose>label,#mail-form.outlook-compose>header,#mail-form.outlook-compose>footer,#mail-form .mail-compose-help,#mail-form .mail-compose-attachments{max-width:100%;min-width:0}
/* Keep the fixed compose window attached to the viewport after screen entry. */
body.mailbox-mode [data-screen="messaging"]{animation:none;transform:none}
#mail-form.outlook-compose #mail-add-recipient{width:auto!important;max-width:calc(100% - 44px);justify-self:start}

/* Relance unique depuis le message ou le composeur. */
.mail-follow-up { margin:16px 0; padding:16px; border:1px solid #d8e1eb; border-radius:12px; background:#f6f9fc; color:#24364b; }
.mail-follow-up label { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:10px 0; }
.mail-follow-up input[type=checkbox] { width:18px; height:18px; flex:none; }
.mail-follow-up input[type=number] { width:75px; }
.mail-follow-up input[type=text] { flex:1; min-width:120px; }
.mail-follow-up-delays { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mail-follow-up button,.mail-follow-up-dialog button { padding:8px 12px; border:1px solid #ccd8e5; border-radius:8px; cursor:pointer; }
.mail-follow-up input,.mail-follow-up select { padding:8px; border:1px solid #ccd8e5; border-radius:6px; max-width:100%; }
.mail-follow-up pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.7; padding:16px; background:white; border-radius:8px; }
.mail-follow-up p,.mail-follow-up small { line-height:1.5; }
.mail-follow-up-dialog { width:min(650px,calc(100vw - 24px)); max-height:90vh; overflow:auto; padding:22px; border:0; border-radius:16px; }
.mail-follow-up-dialog::backdrop { background:#172b4b80; }
.mail-follow-up-dialog header,.mail-follow-up-dialog footer { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.mail-follow-up-dialog select { max-width:100%; }
.mail-follow-up [hidden] { display:none !important; }

.mail-context-attachment{flex-wrap:wrap}.mail-context-attachment>.mail-attachment-filing,.mail-context-attachment>[role="status"]{flex-basis:100%;box-sizing:border-box}

/* Consignes manuelles à Carla dans la lecture et la rédaction des emails. */
.mail-carla-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:12px;border:1px solid #d6dee8;border-radius:10px;background:#f4f7fc;width:100%;box-sizing:border-box}
.mail-carla-command label{display:grid;gap:5px;min-width:0;color:#29466f;font-size:.82rem;font-weight:700}
.mail-carla-command input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:9px 11px;border:1px solid #bfcddd;border-radius:7px;font:inherit;background:white;color:#263b63}
.mail-carla-command button{min-height:40px;padding:9px 12px;border:1px solid #29466f;border-radius:7px;background:#29466f;color:white;font:inherit;cursor:pointer}
.mail-carla-command small{grid-column:1/-1;color:#596a80;font-size:.75rem;line-height:1.4}
@media(max-width:600px){.mail-carla-command{grid-template-columns:1fr}.mail-carla-command small{grid-column:1}.mail-carla-command button{width:100%}}

.prospect-form-grid>.mail-carla-command,.prospect-form-grid>.mail-ai-preview{grid-column:1/-1}

/* Keep the original email layout isolated from the reply form. */
#mail-form .mail-original-body:has(.mail-html-frame){padding:0;white-space:normal}
#mail-form .mail-original-body .mail-html-frame{display:block;height:420px;min-height:420px}
#mail-form .mail-original-body .mail-text-body{padding:0;white-space:break-spaces;font:inherit;color:inherit}
