:root {
  --adat-terracotta: #cb6040;
  --adat-terracotta-dark: #ac5235;
  --adat-taupe: #75665e;
  --adat-taupe-dark: #5c514a;
  --adat-blue: #277180;
  --adat-blue-dark: #1e5d69;
  --bg: #f4f5f4;
  --surface: #ffffff;
  --surface-soft: #f8f8f7;
  --text: #202427;
  --muted: #737a7d;
  --border: #e3e5e3;
  --shadow: 0 18px 45px rgba(27, 43, 48, .08);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 11px;
  --ui-font-modern: "Aptos", "Segoe UI Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ui-font-system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ui-font-humanist: "Avenir Next", "Segoe UI Variable", "Trebuchet MS", system-ui, sans-serif;
  --ui-font: var(--ui-font-modern);
  font-family: var(--ui-font);
  font-size: 15px;
  font-synthesis-weight: none;
  color: var(--text);
  background: var(--bg);
}

:root[data-font="modern"] { --ui-font: var(--ui-font-modern); }
:root[data-font="system"] { --ui-font: var(--ui-font-system); }
:root[data-font="humanist"] { --ui-font: var(--ui-font-humanist); }
:root[data-text-size="compact"] { font-size: 15px; }
:root[data-text-size="standard"] { font-size: 16px; }
:root[data-text-size="comfortable"] { font-size: 17px; }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--bg); line-height: 1.45; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, input, textarea, select { font: inherit; }
a { color: inherit; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  height: 82px;
  padding: 0 34px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(227,229,227,.95);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand { display: flex; align-items: center; gap: 16px; text-decoration: none; min-width: 0; }
.brand img { width: 184px; max-height: 58px; object-fit: contain; object-position: left center; }
.brand-divider { width: 1px; height: 30px; background: var(--border); }
.brand-product { font-weight: 750; color: var(--adat-taupe-dark); white-space: nowrap; }

.topbar-right { display: flex; align-items: center; gap: 18px; }
.top-link { text-decoration: none; font-weight: 750; color: var(--adat-blue-dark); }
.identity { display: flex; align-items: center; gap: 12px; }
.identity-copy { display: grid; text-align: right; }
.identity-copy strong { font-size: .9rem; }
.identity-copy span { color: var(--muted); font-size: .78rem; max-width: 270px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.avatar { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--adat-blue); color: #fff; font-weight: 850; }

.shell { display: grid; grid-template-columns: 245px minmax(0, 1fr); min-height: calc(100vh - 82px); }
.sidebar { position: sticky; top: 82px; height: calc(100vh - 82px); padding: 28px 18px 22px; border-right: 1px solid var(--border); background: #f8f8f6; display: flex; flex-direction: column; justify-content: space-between; }
.side-nav { display: grid; gap: 6px; }
.side-nav a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; text-decoration: none; color: #52595c; font-weight: 700; font-size: .88rem; }
.side-nav a span { width: 24px; text-align: center; color: var(--adat-blue); }
.side-nav a:hover, .side-nav a.active { background: #fff; color: var(--text); box-shadow: 0 6px 18px rgba(31,54,60,.06); }
.sidebar-foot { display: flex; justify-content: space-between; color: var(--muted); font-size: .75rem; padding: 0 12px; }

.main { min-width: 0; padding: 34px clamp(20px, 4vw, 58px) 80px; }
.login-hero { min-height: calc(100vh - 150px); display: grid; place-items: center; }
.login-card { width: min(680px, 94vw); padding: 54px; border-radius: 30px; background: #fff; box-shadow: var(--shadow); text-align: center; }
.login-logo { width: min(270px, 70%); margin-bottom: 32px; }
.login-card h1 { font-size: clamp(2.1rem, 5vw, 3.5rem); line-height: 1.04; margin: 10px 0 18px; }
.login-card p { color: var(--muted); font-size: 1.08rem; margin: 0 auto 28px; max-width: 520px; }

.dashboard, .section { scroll-margin-top: 105px; }
.welcome-panel { min-height: 235px; border-radius: 28px; padding: clamp(28px, 4vw, 48px); color: #fff; background: linear-gradient(125deg, var(--adat-blue-dark) 0%, var(--adat-blue) 62%, #3d8c99 100%); box-shadow: 0 22px 55px rgba(39,113,128,.2); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; }
.welcome-panel::after { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; right: -120px; top: -160px; border: 70px solid rgba(255,255,255,.07); }
.welcome-panel h1 { margin: 8px 0 8px; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.03em; }
.welcome-panel p { margin: 0; max-width: 660px; color: rgba(255,255,255,.82); font-size: 1.03rem; }
.welcome-mark { font-size: 6rem; font-weight: 900; opacity: .07; letter-spacing: -.06em; z-index: 1; }
.eyebrow { color: var(--adat-blue); font-size: .7rem; font-weight: 850; letter-spacing: .16em; }
.eyebrow.light { color: rgba(255,255,255,.68); }
.role-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.role-chip { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.1); border-radius: 999px; font-size: .75rem; font-weight: 720; }

.stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 20px 0 42px; }
.stat { position: relative; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius-md); background: #fff; text-align: left; cursor: pointer; box-shadow: 0 8px 24px rgba(31,54,60,.04); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.stat:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(31,54,60,.08); }
.stat.active { border-color: rgba(39,113,128,.45); box-shadow: inset 0 0 0 1px rgba(39,113,128,.15), 0 10px 28px rgba(31,54,60,.07); }
.stat-icon { position: absolute; right: 20px; top: 17px; font-size: .65rem; }
.stat-icon.blue { color: var(--adat-blue); }
.stat-icon.terra { color: var(--adat-terracotta); }
.stat-icon.taupe { color: var(--adat-taupe); }
.stat-value { display: block; font-size: 2.15rem; font-weight: 850; line-height: 1; margin-bottom: 8px; }
.stat small { color: var(--muted); font-weight: 680; }

.section { margin-top: 46px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.section-heading h2 { font-size: 1.7rem; margin: 5px 0 3px; letter-spacing: -.025em; }
.section-heading p { margin: 0; color: var(--muted); max-width: 760px; }

.scope-switch { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: #e9ecea; margin-bottom: 16px; }
.scope { border: 0; border-radius: 9px; background: transparent; color: #62696b; padding: 9px 15px; font-weight: 750; cursor: pointer; }
.scope.active { background: #fff; color: var(--adat-blue-dark); box-shadow: 0 3px 10px rgba(31,54,60,.09); }

.support-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); gap: 18px; align-items: start; }
.two-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 26px; box-shadow: 0 12px 34px rgba(31,54,60,.045); min-width: 0; }
.panel.accent-blue { border-top: 4px solid var(--adat-blue); }
.panel-kicker { color: var(--adat-taupe); font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.panel h3 { font-size: 1.18rem; margin: 5px 0 8px; }
.panel-intro { color: var(--muted); margin: 0 0 20px; line-height: 1.5; }
.panel-title-row { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 8px; }

.ticket-list { min-height: 120px; }
.ticket { width: 100%; display: grid; grid-template-columns: 92px minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 18px 4px; border-top: 1px solid #eceeec; background: transparent; color: inherit; }
.ticket:first-child { border-top: 0; }
.ticket:hover .ticket-title { color: var(--adat-blue); }
.ticket-number { font-weight: 850; color: var(--adat-taupe-dark); }
.ticket-title { display: block; font-weight: 790; margin-bottom: 5px; transition: color .15s ease; }
.ticket-state { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .8rem; }
.ticket-state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--adat-blue); }
.ticket-meta { color: var(--muted); text-align: right; font-size: .78rem; }
.ticket-arrow { display: block; color: var(--adat-blue); font-weight: 850; margin-top: 5px; }
.empty { padding: 30px 10px; color: var(--muted); text-align: center; }

label { display: block; margin: 14px 0; font-size: .82rem; font-weight: 760; }
input, textarea { width: 100%; display: block; margin-top: 7px; padding: 13px 14px; border: 1px solid #d6dad7; border-radius: var(--radius-sm); background: #fff; color: var(--text); outline: none; transition: border .15s ease, box-shadow .15s ease; }
input:focus, textarea:focus { border-color: var(--adat-blue); box-shadow: 0 0 0 3px rgba(39,113,128,.1); }
textarea { resize: vertical; }

.upload-box { display: flex; align-items: center; gap: 13px; padding: 14px; border: 1px dashed #c9cfcb; border-radius: 13px; background: var(--surface-soft); cursor: pointer; }
.upload-box:hover { border-color: var(--adat-blue); }
.upload-box input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.upload-box span { display: grid; }
.upload-box small { color: var(--muted); font-weight: 500; margin-top: 3px; }
.upload-icon { width: 35px; height: 35px; display: grid !important; place-items: center; border-radius: 50%; background: #e7f0f2; color: var(--adat-blue); font-size: 1.25rem; }
.upload-box.compact { margin-top: 12px; }

.button { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 11px; padding: 11px 17px; text-decoration: none; font-weight: 800; cursor: pointer; }
.button.primary { background: var(--adat-terracotta); color: #fff; box-shadow: 0 8px 20px rgba(203,96,64,.22); }
.button.primary:hover { background: var(--adat-terracotta-dark); }
.button.secondary { background: #fff; color: var(--adat-blue-dark); border: 1px solid var(--border); }
.button.large { padding: 14px 22px; }

.suggestions { margin: 17px 0; padding: 16px; border-radius: 14px; background: #eef5f6; border: 1px solid #d8e7ea; }
.suggestions-head { display: flex; gap: 9px; color: var(--adat-blue-dark); margin-bottom: 10px; }
.suggestion { padding: 8px 0; border-top: 1px solid rgba(39,113,128,.12); }
.suggestion:first-child { border-top: 0; }
.suggestion a { color: var(--adat-blue-dark); font-weight: 750; text-decoration-thickness: 1px; }

.file-list { display: flex; flex-wrap: wrap; gap: 7px; margin: 8px 0 14px; }
.file-pill { border: 1px solid #dde1de; background: #f6f7f6; border-radius: 999px; padding: 6px 10px; font-size: .75rem; }
.status { min-height: 20px; margin-top: 10px; color: var(--adat-blue-dark); font-size: .85rem; }
.error { color: #a83f32 !important; }
.muted { color: var(--muted); }

.documents .doc { padding: 12px 0; border-top: 1px solid #eceeec; }
.documents .doc:first-child { border-top: 0; }
.documents a { color: var(--adat-blue-dark); font-weight: 730; }
.member-card { display: grid; gap: 12px; }
.member-row { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-top: 1px solid #eceeec; }
.member-row:first-child { border-top: 0; }
.member-row span { color: var(--muted); }
.member-row strong { text-align: right; }
.member-roles { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 6px; }
.member-role { background: #f2ece8; color: var(--adat-terracotta-dark); border-radius: 999px; padding: 6px 9px; font-size: .72rem; font-weight: 780; }

.contacts-table { overflow-x: auto; }
.contacts-grid { min-width: 720px; }
.contacts-head, .contact-row { display: grid; grid-template-columns: minmax(230px,1.5fr) repeat(var(--role-count), minmax(130px,1fr)); gap: 10px; align-items: center; }
.contacts-head { padding: 0 12px 11px; color: var(--muted); font-size: .7rem; font-weight: 820; text-transform: uppercase; letter-spacing: .05em; }
.contact-row { padding: 14px 12px; border-top: 1px solid #eceeec; }
.contact-main strong { display: block; }
.contact-main span { color: var(--muted); font-size: .78rem; }
.role-toggle { display: flex; justify-content: center; }
.switch { position: relative; display: inline-block; width: 42px; height: 24px; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; inset: 0; cursor: pointer; border-radius: 999px; background: #d7dcda; transition: .18s ease; }
.slider::after { content: ""; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2); transition: .18s ease; }
.switch input:checked + .slider { background: var(--adat-blue); }
.switch input:checked + .slider::after { transform: translateX(18px); }
.switch input:disabled + .slider { opacity: .45; cursor: not-allowed; }

.ticket-dialog { width: min(940px, 95vw); max-height: 92vh; padding: 0; border: 0; border-radius: 24px; box-shadow: 0 32px 90px rgba(18,36,41,.3); }
.ticket-dialog::backdrop { background: rgba(20,35,39,.55); backdrop-filter: blur(3px); }
.dialog-shell { padding: 28px; }
.dialog-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 18px; padding-bottom: 18px; background: #fff; border-bottom: 1px solid var(--border); }
.dialog-head h2 { margin: 5px 0 5px; font-size: 1.45rem; }
.closebutton { border: 0; width: 40px; height: 40px; border-radius: 50%; background: #f0f2f0; font-size: 1.45rem; cursor: pointer; }
.history { display: flex; flex-direction: column; gap: 14px; margin: 24px 0; }
.history-item { max-width: 87%; border-radius: 16px; padding: 16px 18px; border: 1px solid var(--border); }
.history-item.customer { align-self: flex-end; background: #eef5f6; border-color: #d9e8ea; }
.history-item.agent { align-self: flex-start; background: #fff; }
.history-head { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 10px; font-size: .8rem; }
.history-head span { color: var(--muted); }
.history-body { line-height: 1.58; overflow-wrap: anywhere; }
.history-attachments { display: grid; gap: 8px; margin-top: 12px; }
.history-attachment img { max-width: min(430px,100%); max-height: 310px; object-fit: contain; display: block; border-radius: 10px; margin-bottom: 6px; border: 1px solid var(--border); }
.history-attachment a { color: var(--adat-blue-dark); font-weight: 720; }
.reply-form { border-top: 1px solid var(--border); padding-top: 20px; }
.read-only-notice { padding: 14px 16px; margin: 0 0 18px; border-radius: 12px; background: #f5f1ee; border: 1px solid #e7dbd5; color: var(--adat-taupe-dark); font-size: .87rem; line-height: 1.45; }

@media (max-width: 1100px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; padding: 10px 18px; border-right: 0; border-bottom: 1px solid var(--border); overflow-x: auto; }
  .side-nav { display: flex; min-width: max-content; }
  .sidebar-foot { display: none; }
  .support-grid, .two-columns { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .topbar { padding: 0 16px; height: 70px; }
  .brand img { width: 136px; }
  .brand-product, .brand-divider, .identity-copy, #logoutLink { display: none; }
  .shell { min-height: calc(100vh - 70px); }
  .main { padding: 22px 14px 60px; }
  .stats { grid-template-columns: 1fr; }
  .welcome-mark { display: none; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .ticket { grid-template-columns: 72px minmax(0,1fr); }
  .ticket-meta { grid-column: 2; text-align: left; }
  .panel { padding: 20px; border-radius: 18px; }
  .login-card { padding: 32px 22px; }
  .history-item { max-width: 96%; }
  .dialog-shell { padding: 20px; }
}

.ticket-main { min-width: 0; }
.ticket-count { display: block; margin-top: 7px; color: var(--muted); font-size: .76rem; }
.ticket-meta { display: grid; justify-items: end; gap: 9px; }
.history-button { white-space: nowrap; }
.history-button:disabled { opacity: .65; cursor: wait; }

.build-marker { position: fixed; right: 8px; bottom: 6px; z-index: 1; font-size: 10px; color: #8a918e; opacity: .55; }

/* ===== ADAT Portal V2 ===== */
.dashboard-section { padding-top: 8px; }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.page-heading h1 { margin:4px 0 4px; font-size:clamp(1.8rem,3vw,2.55rem); letter-spacing:-.03em; }
.page-heading p { margin:0; }
.announcement-stack { display:grid; gap:10px; margin-bottom:18px; }
.announcement { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:start; padding:15px 17px; border:1px solid var(--border); border-radius:15px; background:#fff; box-shadow:0 8px 22px rgba(31,54,60,.04); }
.announcement-dot { width:10px; height:10px; border-radius:999px; margin-top:6px; background:var(--adat-blue); }
.announcement.maintenance .announcement-dot { background:var(--adat-taupe); }
.announcement.warning .announcement-dot,.announcement.critical .announcement-dot { background:var(--adat-terracotta); }
.announcement.critical { border-color:#e5b3a4; background:#fff9f7; }
.announcement h4 { margin:0 0 4px; font-size:.98rem; }
.announcement p { margin:0; color:var(--muted); line-height:1.48; }
.announcement small { display:block; color:var(--muted); margin-top:6px; }
.announcement-close { border:0; background:transparent; font-size:1.15rem; cursor:pointer; color:var(--muted); }

.document-spaces { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.document-space { text-align:left; border:1px solid var(--border); border-radius:16px; padding:18px; background:#fff; cursor:pointer; box-shadow:0 8px 22px rgba(31,54,60,.035); transition:.16s ease; }
.document-space:hover { transform:translateY(-1px); border-color:#b9d0d5; box-shadow:0 13px 28px rgba(31,54,60,.07); }
.document-space strong { display:block; color:var(--adat-blue-dark); margin-bottom:6px; font-size:1.02rem; }
.document-space span { color:var(--muted); font-size:.84rem; line-height:1.45; }
.document-browser-panel { margin-top:14px; }
.documents { display:grid; gap:4px; }
.documents .doc { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:13px 8px; }
.doc-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#eef4f5; color:var(--adat-blue-dark); }
.doc-name { font-weight:760; color:var(--text); }
.doc-meta { color:var(--muted); font-size:.76rem; }
.doc-action { color:var(--adat-blue-dark); font-weight:760; border:0; background:transparent; cursor:pointer; text-decoration:underline; }

.category-chips { display:flex; flex-wrap:wrap; gap:8px; }
.category-chip { display:inline-flex; padding:7px 10px; border-radius:999px; background:#edf4f5; color:var(--adat-blue-dark); font-size:.76rem; font-weight:780; }

.admin-section { border-top:1px solid var(--border); margin-top:30px; padding-top:34px; }
.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
select { width:100%; display:block; margin-top:7px; padding:12px 13px; border:1px solid #d6dad7; border-radius:var(--radius-sm); background:#fff; color:var(--text); }
select:focus { border-color:var(--adat-blue); outline:none; box-shadow:0 0 0 3px rgba(39,113,128,.1); }
select[multiple] { min-height:132px; }
.checkbox-row { display:flex; gap:20px; flex-wrap:wrap; margin:12px 0; }
.checkbox-row label,.checkbox-inline { display:flex; align-items:center; gap:8px; margin:0; }
.checkbox-row input,.checkbox-inline input { width:auto; margin:0; }
.form-actions { display:flex; gap:8px; margin-top:14px; }
.admin-list { display:grid; gap:9px; margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }
.admin-item { border:1px solid var(--border); border-radius:12px; padding:13px; background:#fafbfa; }
.admin-item-head { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.admin-item h4 { margin:0 0 4px; }
.admin-item p { margin:5px 0; color:var(--muted); font-size:.82rem; }
.admin-item-actions { display:flex; gap:6px; }
.mini-button { border:1px solid var(--border); background:#fff; border-radius:8px; padding:6px 9px; cursor:pointer; font-size:.74rem; font-weight:750; }
.mini-button.danger { color:#a23e31; }
.diagnostics-panel { margin-top:18px; }
.codebox { padding:14px; background:#f5f7f6; border-radius:12px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; font-size:.78rem; line-height:1.55; overflow:auto; }

.history-author { display:flex; align-items:center; gap:9px; }
.agent-avatar { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#eaf2f3; color:var(--adat-blue-dark); font-weight:850; font-size:.76rem; flex:0 0 auto; }
.history-head strong { color:var(--text); }
.read-only-notice a { color:var(--adat-blue-dark); font-weight:800; }

@media (max-width:1000px) {
  .document-spaces,.admin-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .page-heading { align-items:flex-start; flex-direction:column; }
  .document-spaces { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .announcement { grid-template-columns:auto 1fr; }
  .announcement-close { grid-column:2; justify-self:end; }
}

/* ===== Navigation par vues / Support compact 2.1.1 ===== */
.app-view { margin-top: 0; }
.heading-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.ticket-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.ticket-toolbar .scope-switch { margin-bottom: 0; }
.ticket-search { width: min(320px, 100%); margin: 0; color: var(--muted); font-size: .76rem; }
.ticket-search input { margin-top: 5px; padding: 10px 12px; }
.ticket-tabs { display: flex; gap: 8px; margin-bottom: 14px; overflow-x: auto; padding-bottom: 2px; }
.ticket-tab { border: 1px solid var(--border); background: #fff; color: var(--adat-taupe-dark); border-radius: 999px; padding: 9px 14px; font-weight: 790; cursor: pointer; white-space: nowrap; }
.ticket-tab span { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; margin-left: 5px; border-radius: 999px; background: #f0f2f1; color: var(--muted); font-size: .72rem; }
.ticket-tab.active { border-color: rgba(39,113,128,.42); background: #edf5f6; color: var(--adat-blue-dark); }
.ticket-tab.active span { background: var(--adat-blue); color: #fff; }
.compact-tickets-panel { padding: 20px 24px; }
.ticket-table-head, .compact-ticket { display: grid; grid-template-columns: 105px minmax(250px, 1fr) 150px 90px 180px; gap: 14px; align-items: center; }
.ticket-table-head { padding: 10px 4px 11px; border-bottom: 1px solid var(--border); color: var(--muted); font-size: .68rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.compact-ticket { padding: 13px 4px; border-top: 1px solid #eceeec; }
.compact-ticket:first-child { border-top: 0; }
.ticket-number-link { border: 0; padding: 0; background: transparent; color: var(--adat-blue-dark); text-decoration: underline; text-underline-offset: 3px; font-weight: 850; cursor: pointer; }
.ticket-number-link:hover { color: var(--adat-terracotta-dark); }
.compact-ticket .ticket-title { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-count { margin: 0; color: var(--text); font-weight: 760; }
.compact-meta { display: block; text-align: left; font-size: .76rem; }
.ticket-pagination { display: flex; justify-content: center; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px solid var(--border); margin-top: 8px; }
.ticket-pagination span { color: var(--muted); font-size: .8rem; min-width: 150px; text-align: center; }
.ticket-pagination .button { padding: 8px 12px; }
.ticket-pagination .button:disabled { opacity: .45; cursor: not-allowed; }
.new-ticket-standalone { width: min(850px, 100%); }
.new-ticket-standalone .form-actions { margin-top: 18px; }
.status a { color: var(--adat-blue-dark); font-weight: 800; }

@media (max-width: 980px) {
  .ticket-table-head { display: none; }
  .compact-ticket { grid-template-columns: 90px minmax(0,1fr) auto; grid-template-areas: "number title state" "number count date"; gap: 7px 12px; }
  .compact-ticket .ticket-number { grid-area: number; }
  .compact-ticket .ticket-main { grid-area: title; }
  .compact-ticket > div:nth-child(3) { grid-area: state; }
  .compact-ticket .compact-count { grid-area: count; }
  .compact-ticket .compact-count::before { content: "Échanges : "; color: var(--muted); font-weight: 500; }
  .compact-ticket .compact-meta { grid-area: date; text-align: right; }
}

@media (max-width: 720px) {
  .ticket-toolbar { align-items: stretch; flex-direction: column; }
  .ticket-search { width: 100%; }
  .heading-actions { width: 100%; justify-content: stretch; }
  .heading-actions .button { flex: 1; }
  .compact-tickets-panel { padding: 17px; }
  .compact-ticket { grid-template-columns: 78px minmax(0,1fr); grid-template-areas: "number title" "number state" "number count" "number date"; }
  .compact-ticket > div:nth-child(3) { justify-self: start; }
  .compact-ticket .compact-meta { text-align: left; }
  .ticket-pagination { flex-wrap: wrap; gap: 8px; }
}

/* v2.2.1 - captures par collage/glisser-deposer et images compactes */
.nav-badge { margin-left:auto; min-width:22px; height:22px; padding:0 7px; display:inline-grid; place-items:center; border-radius:999px; background:var(--adat-terracotta); color:#fff; font-size:.72rem; font-weight:850; line-height:1; }
.ticket.has-updates { box-shadow: inset 3px 0 0 var(--adat-terracotta); background:#fffaf8; }
.ticket-update-badge { display:inline-flex; align-items:center; gap:5px; margin-left:8px; padding:3px 8px; border-radius:999px; background:#fce5de; color:#8f3d27; font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.035em; vertical-align:middle; }
.ticket-update-badge::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--adat-terracotta); }

.toast-region { position:fixed; top:82px; right:22px; z-index:1200; display:grid; gap:9px; width:min(380px,calc(100vw - 32px)); pointer-events:none; }
.portal-toast { pointer-events:auto; border:1px solid #d8e7e9; border-left:4px solid var(--adat-blue); background:#fff; border-radius:13px; box-shadow:0 16px 44px rgba(27,54,60,.18); padding:13px 15px; display:flex; gap:10px; align-items:flex-start; animation:toastIn .22s ease-out; }
.portal-toast strong { display:block; margin-bottom:2px; }
.portal-toast p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.42; }
@keyframes toastIn { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:none; } }

.global-incident-stack { position:sticky; top:74px; z-index:650; margin:-2px 0 18px; display:grid; gap:10px; }
.global-incident { position:relative; overflow:hidden; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:16px 18px; border-radius:16px; background:#b42318; color:#fff; border:1px solid #8e1c13; box-shadow:0 12px 34px rgba(137,31,21,.28); }
.global-incident::before { content:""; position:absolute; inset:-1px; border-radius:inherit; border:2px solid rgba(255,255,255,.35); pointer-events:none; animation:incidentPulse 1.8s ease-in-out infinite; }
.global-incident-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.16); font-size:1.05rem; font-weight:900; }
.global-incident h3 { margin:0 0 4px; color:#fff; font-size:1.02rem; }
.global-incident p { margin:0; color:#fff; line-height:1.5; }
.global-incident small { display:block; margin-top:7px; color:rgba(255,255,255,.84); }
.global-incident a { display:inline-flex; margin-top:8px; color:#fff; font-weight:850; text-decoration:underline; text-underline-offset:3px; }
@keyframes incidentPulse { 0%,100% { opacity:.35; box-shadow:inset 0 0 0 0 rgba(255,255,255,.08); } 50% { opacity:.85; box-shadow:inset 0 0 0 3px rgba(255,255,255,.08); } }
@media (prefers-reduced-motion: reduce) { .global-incident::before, .portal-toast { animation:none; } }

.announcement.incident { display:none; }
.announcement.critical { border-left:4px solid var(--adat-terracotta); }

/* Fil de conversation */
.history { position:relative; gap:20px; padding:4px 4px 8px; }
.history::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:linear-gradient(to bottom, transparent, #d8e1e3 5%, #d8e1e3 95%, transparent); pointer-events:none; }
.history-item { position:relative; width:min(78%,680px); max-width:none; padding:0; border:0; background:transparent !important; }
.history-item.customer { align-self:flex-end; }
.history-item.agent { align-self:flex-start; }
.history-bubble { border:1px solid var(--border); border-radius:18px; padding:15px 17px; box-shadow:0 7px 22px rgba(27,54,60,.055); }
.history-item.customer .history-bubble { background:#f4f1ef; border-color:#e4ddd8; border-bottom-right-radius:5px; }
.history-item.agent .history-bubble { background:#eef6f7; border-color:#d4e7ea; border-bottom-left-radius:5px; }
.history-role-label { display:inline-flex; align-items:center; margin-bottom:8px; padding:3px 8px; border-radius:999px; font-size:.67rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.history-item.agent .history-role-label { background:#d8ebee; color:var(--adat-blue-dark); }
.history-item.customer .history-role-label { background:#e8e1dc; color:#62534c; }
.history-head { align-items:center; margin-bottom:9px; }
.history-author { min-width:0; }
.history-author strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.agent-avatar { position:relative; overflow:hidden; width:38px; height:38px; background:#d8ebee; border:2px solid #fff; box-shadow:0 2px 7px rgba(25,65,72,.14); }
.agent-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.history-date { white-space:nowrap; font-size:.76rem; }
.history-body { color:#26363a; }
.history-attachments { margin-top:14px; display:grid; gap:10px; }
.history-attachment-card { border:1px solid rgba(50,80,86,.13); border-radius:12px; background:rgba(255,255,255,.72); overflow:hidden; }
.history-attachment-card.image-card { width:fit-content; max-width:100%; }
.history-attachment-meta { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 11px; }
.history-attachment-meta a { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.history-image-button { display:block; width:auto; max-width:100%; padding:0; border:0; background:#eef2f3; cursor:zoom-in; }
.history-image-button img { display:block; width:auto; max-width:min(360px,100%); max-height:240px; object-fit:contain; margin:0; border:0; border-radius:0; }
.pdf-preview { border-top:1px solid rgba(50,80,86,.1); }
.pdf-preview summary { cursor:pointer; padding:10px 12px; font-weight:780; color:var(--adat-blue-dark); user-select:none; }
.pdf-preview iframe { display:block; width:100%; height:min(58vh,560px); border:0; border-top:1px solid rgba(50,80,86,.1); background:#fff; }

.media-dialog { width:min(1100px,96vw); height:min(92vh,900px); max-width:none; padding:0; border:0; border-radius:18px; background:#11191b; box-shadow:0 30px 90px rgba(0,0,0,.48); }
.media-dialog::backdrop { background:rgba(7,14,16,.82); backdrop-filter:blur(3px); }
.media-dialog-shell { position:relative; width:100%; height:100%; min-height:300px; display:grid; grid-template-rows:1fr auto; place-items:center; padding:20px; }
.media-dialog img { max-width:100%; max-height:calc(92vh - 80px); object-fit:contain; border-radius:8px; }
.media-close { position:absolute; top:12px; right:12px; z-index:2; background:rgba(255,255,255,.94); }
.media-caption { color:#fff; padding:8px 14px 0; text-align:center; font-size:.88rem; }

@media (max-width:800px) {
  .global-incident-stack { top:66px; }
  .history::before { left:16px; }
  .history-item, .history-item.customer, .history-item.agent { width:calc(100% - 20px); max-width:none; align-self:flex-end; }
  .history-item.customer .history-bubble, .history-item.agent .history-bubble { border-bottom-left-radius:12px; border-bottom-right-radius:12px; }
  .history-date { white-space:normal; text-align:right; }
  .toast-region { top:74px; right:12px; }
}

/* Capture d'ecran et depose de fichiers */
.capture-help { display:grid; gap:4px; margin:2px 0 12px; padding:12px 14px; border:1px solid #d8e7e9; border-radius:12px; background:#f2f8f9; color:#30474d; font-size:.86rem; line-height:1.48; }
.capture-help strong { color:var(--adat-blue-dark); }
.capture-help.compact { margin-top:10px; padding:10px 12px; font-size:.82rem; }
.drop-zone { transition:border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease; }
.drop-zone.drag-over { border-color:var(--adat-blue) !important; background:#eef8fa !important; box-shadow:inset 0 0 0 2px rgba(39,113,128,.14); transform:translateY(-1px); }
.upload-status { min-height:18px; margin:6px 0 2px; color:var(--adat-blue-dark); font-size:.8rem; font-weight:680; }
.upload-status.error { color:#a13924; }
.file-list { display:flex; flex-wrap:wrap; gap:7px; margin:7px 0 12px; }
.file-pill { display:inline-flex; align-items:center; gap:7px; max-width:100%; padding:7px 8px 7px 10px; border:1px solid var(--border); border-radius:999px; background:#fff; color:#455257; font-size:.79rem; }
.file-pill > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-pill.image { border-color:#cfe2e5; background:#f5fafb; }
.file-remove { width:22px; height:22px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:#eef1f0; color:#5d676a; cursor:pointer; font-weight:850; line-height:1; }
.file-remove:hover { background:#f7dfd8; color:#9d3f28; }
@media (max-width:600px) {
  .history-image-button img { max-width:100%; max-height:210px; }
  .capture-help { font-size:.8rem; }
}

/* v2.6.0 - organisation, disponibilite, finances et apercu PDF */
.capture-guide { margin:4px 0 14px; border:1px solid #d5e6e9; border-radius:14px; background:#f4fafb; overflow:hidden; color:#2e454a; }
.capture-guide summary { cursor:pointer; padding:12px 14px; font-weight:850; color:var(--adat-blue-dark); user-select:none; }
.capture-guide[open] summary { border-bottom:1px solid #dcebed; }
.capture-guide > small { display:block; padding:0 14px 13px; color:var(--muted); line-height:1.45; }
.capture-guide.compact { margin:10px 0; }
.capture-guide.compact summary { padding:10px 12px; font-size:.86rem; }
.capture-steps { display:grid; gap:7px; padding:12px 14px 9px; }
.capture-steps > div { display:grid; grid-template-columns:26px 1fr; gap:9px; align-items:start; }
.capture-steps > div > span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:#d8ebee; color:var(--adat-blue-dark); font-size:.75rem; font-weight:900; }
.capture-steps p { margin:1px 0 0; line-height:1.45; font-size:.86rem; }
kbd { display:inline-block; padding:2px 6px; border:1px solid #bfc9cb; border-bottom-width:2px; border-radius:5px; background:#fff; color:#253438; font:700 .78em/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; box-shadow:0 1px 0 rgba(0,0,0,.05); }

.organization-tabs, .finance-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.organization-tab, .finance-tab { border:1px solid var(--border); background:#fff; color:#445358; border-radius:999px; padding:9px 14px; font:inherit; font-size:.86rem; font-weight:800; cursor:pointer; }
.organization-tab.active, .finance-tab.active { background:var(--adat-blue-dark); color:#fff; border-color:var(--adat-blue-dark); }
.organization-panel[hidden] { display:none !important; }
.hours-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
.hours-form .form-actions, .hours-form .status, .hours-form .small-note { grid-column:1/-1; }
.hours-form label { margin:0; }
.small-note { font-size:.8rem; line-height:1.45; }
.presence-explanation { margin-top:18px; padding:12px 14px; border-radius:12px; background:#f5f6f5; border:1px solid var(--border); }
.presence-explanation strong { color:var(--adat-blue-dark); }
.presence-explanation p { margin:4px 0 0; color:var(--muted); font-size:.84rem; line-height:1.5; }
.finance-toolbar { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 14px; }
.finance-search { margin:0; min-width:min(420px,100%); }
.finance-search span { display:block; margin-bottom:5px; font-size:.76rem; font-weight:800; color:#4b5a5e; }
.finance-search input { width:100%; }
.finance-tip { color:var(--muted); font-size:.8rem; }
.finance-documents { display:grid; gap:7px; overflow-x:auto; }
.finance-table-head, .finance-row { min-width:900px; display:grid; grid-template-columns:110px minmax(150px,1.2fr) minmax(150px,1.2fr) 120px 130px 130px; gap:12px; align-items:center; }
.finance-table-head { padding:0 14px 6px; color:#6b777a; font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.finance-row { padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.finance-row:hover { border-color:#b7d1d6; box-shadow:0 5px 18px rgba(28,74,82,.06); }
.finance-ref { font-weight:850; color:var(--adat-blue-dark); }
.finance-kind-mobile { display:none; }
.finance-date, .finance-customer-ref { color:#48565a; font-size:.86rem; }
.finance-amounts { display:flex; flex-direction:column; align-items:flex-end; font-variant-numeric:tabular-nums; }
.finance-amounts strong { color:#293d42; font-size:.9rem; }
.finance-amounts span { color:var(--muted); font-size:.75rem; margin-top:2px; }
.finance-status { display:inline-flex; padding:4px 8px; border-radius:999px; background:#eef2f2; color:#45555a; font-size:.73rem; font-weight:800; }
.finance-actions { text-align:right; }
.finance-no-pdf { color:#8a9497; font-size:.75rem; }
.compact-button { padding:7px 10px; font-size:.78rem; }
.finance-pdf-dialog { width:min(1180px,96vw); height:min(94vh,980px); max-width:none; padding:0; border:0; border-radius:20px; box-shadow:0 32px 90px rgba(18,36,41,.35); }
.finance-pdf-dialog::backdrop { background:rgba(20,35,39,.6); backdrop-filter:blur(3px); }
.finance-pdf-shell { height:100%; display:grid; grid-template-rows:auto auto minmax(0,1fr); padding:22px; }
.finance-pdf-head { position:relative; }
.finance-pdf-head-actions { display:flex; gap:9px; align-items:center; }
.finance-pdf-frame { width:100%; height:100%; min-height:500px; margin-top:14px; border:1px solid var(--border); border-radius:12px; background:#f2f3f3; }
.presence-list { display:grid; gap:7px; }
.presence-user { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 12px; border:1px solid var(--border); border-radius:11px; background:#fff; }
.presence-user strong { display:block; }
.presence-user span { color:var(--muted); font-size:.8rem; }
.presence-dot { width:9px; height:9px; border-radius:50%; background:#2d8a57; box-shadow:0 0 0 4px rgba(45,138,87,.12); flex:0 0 auto; }

@media (max-width:800px) {
  .hours-form { grid-template-columns:1fr; }
  .finance-toolbar { align-items:stretch; flex-direction:column; }
  .finance-tip { display:none; }
  .finance-table-head { display:none; }
  .finance-documents { overflow:visible; }
  .finance-row { min-width:0; grid-template-columns:1fr auto; gap:8px 12px; }
  .finance-row > .finance-date { grid-column:1; grid-row:2; }
  .finance-row > :nth-child(2) { grid-column:1; grid-row:1; }
  .finance-customer-ref { grid-column:1; grid-row:3; }
  .finance-row > :nth-child(4) { grid-column:2; grid-row:1; text-align:right; }
  .finance-amounts { grid-column:2; grid-row:2/4; align-self:center; }
  .finance-actions { grid-column:1/-1; grid-row:4; text-align:left; padding-top:4px; }
  .finance-kind-mobile { display:block; margin-top:2px; color:var(--muted); font-size:.72rem; }
  .finance-pdf-shell { padding:14px; }
  .finance-pdf-frame { min-height:60vh; }
}

/* v2.6.0 - horaires structures, espaces documentaires, messages enrichis */
.capture-key-hint { margin:0 14px 10px; padding:9px 11px; border-radius:10px; background:#eaf5f7; color:#35545b; font-size:.82rem; line-height:1.45; }

.hours-form { display:block; }
.hours-help { display:flex; flex-direction:column; gap:3px; margin-bottom:12px; padding:11px 13px; border-radius:12px; background:#f4f8f8; border:1px solid #dde8e9; }
.hours-help strong { color:var(--adat-blue-dark); }
.hours-help span { color:var(--muted); font-size:.82rem; line-height:1.45; }
.hours-editor { display:grid; gap:8px; }
.hours-day-row { display:grid; grid-template-columns:105px 110px repeat(4,minmax(105px,1fr)); gap:9px; align-items:end; padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.hours-day-row.closed { background:#f6f7f7; }
.hours-day-name { align-self:center; color:#2e4348; }
.hours-day-row label { margin:0; }
.hours-day-row label span { display:block; margin-bottom:4px; color:var(--muted); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.hours-day-row select { width:100%; padding:8px 9px; }
.hours-day-row.closed .hours-time { opacity:.45; }
.erp-sync-note { margin-top:12px; padding:10px 12px; border-left:3px solid var(--adat-blue); background:#f2f8f9; color:#465b60; font-size:.8rem; line-height:1.45; }
.hours-form .form-actions { margin-top:12px; }
@media (max-width:1100px) { .hours-day-row { grid-template-columns:95px 105px repeat(2,minmax(105px,1fr)); } .hours-day-row label:nth-of-type(4), .hours-day-row label:nth-of-type(5) { grid-row:2; } .hours-day-row label:nth-of-type(4) { grid-column:3; } .hours-day-row label:nth-of-type(5) { grid-column:4; } }
@media (max-width:720px) { .hours-day-row { grid-template-columns:1fr 1fr; } .hours-day-name { grid-column:1/-1; } .hours-day-row label:nth-of-type(n) { grid-column:auto; grid-row:auto; } }

.document-space { position:relative; overflow:hidden; padding-top:22px; }
.document-space .document-space-accent { position:absolute; left:0; right:0; top:0; height:6px; display:block; background:#aeb8ba; }
.document-space.tone-teal .document-space-accent { background:#277180; }
.document-space.tone-taupe .document-space-accent { background:#75665e; }
.document-space.tone-azure .document-space-accent { background:#2f9ed0; }
.document-space.tone-teal strong { color:#1e5d69; }
.document-space.tone-taupe strong { color:#5c514a; }
.document-space.tone-azure strong { color:#197ca8; }
.document-space.tone-teal:hover { border-color:#9dc5cc; }
.document-space.tone-taupe:hover { border-color:#c8bdb7; }
.document-space.tone-azure:hover { border-color:#9ccfe5; }

.rich-toolbar { display:flex; gap:7px; margin:6px 0 7px; }
.rich-toolbar .mini-button { background:#f6f8f8; }
.rich-help { display:block; margin:7px 0 4px; color:var(--muted); }
.announcement-preview { min-height:52px; padding:10px 12px; border:1px dashed #c9d5d7; border-radius:10px; background:#fafbfb; line-height:1.5; }
.announcement-preview a, .announcement-rich a, .announcement p a, .global-incident p a { color:var(--adat-blue-dark); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.global-incident p a { color:#fff; }
.announcement-preview strong, .announcement-rich strong, .announcement p strong, .global-incident p strong { font-weight:900; }

@keyframes ticketUpdatePulse { 0%,100% { opacity:.45; transform:scale(.85); box-shadow:0 0 0 0 rgba(203,96,64,.25); } 50% { opacity:1; transform:scale(1.12); box-shadow:0 0 0 5px rgba(203,96,64,0); } }
.ticket-update-badge::before { animation:ticketUpdatePulse 1.15s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .ticket-update-badge::before { animation:none; opacity:1; } }

/* v2.6.0 - horaires compacts, copie du lundi et presence guidee */
.availability-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:18px; }
.availability-layout > .panel { min-width:0; overflow:hidden; }
.hours-help { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:10px; }
.hours-help-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:#e6f2f4; font-size:1.15rem; }
.hours-copy-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; margin-bottom:8px; border:1px dashed #bfd3d7; border-radius:11px; background:#f7fbfb; color:#4f6266; font-size:.8rem; }
.hours-editor { min-width:0; }
.hours-day-row { display:grid; grid-template-columns:150px 108px minmax(210px,1fr) minmax(210px,1fr); gap:10px; align-items:stretch; padding:10px; min-width:0; }
.hours-day-row.closed { opacity:.82; }
.hours-day-heading { display:flex; flex-direction:column; justify-content:center; gap:5px; min-width:0; }
.hours-day-heading > div { display:flex; flex-direction:column; gap:2px; }
.hours-day-name { font-size:.96rem; }
.hours-state-label { color:var(--muted); font-size:.72rem; font-weight:800; }
.hours-copy-one { align-self:flex-start; border:0; background:transparent; color:var(--adat-blue-dark); font:inherit; font-size:.72rem; font-weight:850; padding:0; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.hours-open-toggle { margin:0 !important; align-self:center; display:flex; align-items:center; gap:7px; padding:8px 9px; border-radius:10px; background:#edf5f6; color:var(--adat-blue-dark); font-size:.78rem; font-weight:850; }
.hours-open-toggle input { width:17px; height:17px; margin:0; }
.hours-day-row.closed .hours-open-toggle { background:#eff1f1; color:#707a7d; }
.hours-period { min-width:0; padding:8px 10px; border:1px solid #dce5e6; border-radius:10px; background:#fbfdfd; transition:opacity .15s ease, background .15s ease; }
.hours-period.period-disabled { opacity:.48; background:#f5f6f6; }
.period-head { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-bottom:7px; }
.period-head label { margin:0 !important; display:flex; align-items:center; gap:6px; }
.period-head input { width:16px; height:16px; margin:0; }
.period-head strong { font-size:.79rem; color:#334b50; }
.period-head > span { color:#879194; font-size:.65rem; font-weight:800; text-transform:uppercase; }
.hours-range { display:grid; grid-template-columns:minmax(78px,1fr) 18px minmax(78px,1fr); gap:5px; align-items:end; }
.hours-range label { margin:0 !important; min-width:0; }
.hours-range label > span { display:block; margin:0 0 3px; color:var(--muted); font-size:.62rem; font-weight:850; text-transform:uppercase; }
.hours-range select { width:100%; min-width:0; padding:7px 6px; font-size:.79rem; }
.range-arrow { align-self:center; text-align:center; color:#8d999c; font-size:.9rem; padding-top:15px; }
.hours-day-row label:nth-of-type(n) { grid-column:auto; grid-row:auto; }

.presence-form { max-width:760px; }
.presence-quick { display:grid; gap:7px; margin-bottom:12px; }
.presence-quick > span { color:var(--muted); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.presence-quick > div { display:flex; flex-wrap:wrap; gap:7px; }
.presence-preset { border:1px solid #cddcde; border-radius:999px; background:#f7fbfb; color:var(--adat-blue-dark); padding:7px 11px; font:inherit; font-size:.76rem; font-weight:850; cursor:pointer; }
.presence-preset:hover { background:#eaf4f5; border-color:#aac9ce; }
.presence-time-grid { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); align-items:end; gap:8px; }
.presence-time-grid label { margin:0; }
.presence-time-grid label > span { display:block; margin-bottom:5px; color:#516166; font-size:.76rem; font-weight:800; }
.presence-arrow { text-align:center; color:var(--adat-blue); font-size:1.15rem; padding-bottom:11px; }
.presence-hint { margin-top:8px; padding:8px 10px; border-radius:9px; background:#f6f7f7; color:#69767a; font-size:.75rem; line-height:1.4; }

@media (max-width:1180px) {
  .hours-day-row { grid-template-columns:125px 100px minmax(190px,1fr) minmax(190px,1fr); }
}
@media (max-width:980px) {
  .hours-day-row { grid-template-columns:120px 105px minmax(0,1fr); }
  .hours-period.afternoon-period { grid-column:3; }
  .hours-period.morning-period { grid-column:3; }
  .hours-day-heading { grid-row:1 / span 2; }
  .hours-open-toggle { grid-row:1 / span 2; }
}
@media (max-width:700px) {
  .hours-copy-toolbar { align-items:flex-start; flex-direction:column; }
  .hours-day-row { grid-template-columns:minmax(0,1fr) auto; }
  .hours-day-heading { grid-row:auto; }
  .hours-open-toggle { grid-row:auto; }
  .hours-period.morning-period, .hours-period.afternoon-period { grid-column:1/-1; }
  .presence-time-grid { grid-template-columns:1fr; }
  .presence-arrow { transform:rotate(90deg); padding:0; }
}

/* v2.9.0 inherited - horaires simplifies, notifications, applications, abonnements et signature */
.notification-button { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:7px 11px; border:1px solid #d5e0e2; border-radius:999px; background:#fff; color:#4c5e62; font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }
.notification-button:hover { border-color:#9fc2c8; background:#f5fafb; }
.notification-button.enabled { background:#e9f5f2; border-color:#acd5c9; color:#286557; }
.notification-button:disabled { opacity:.58; cursor:default; }
.notification-bell { font-size:1rem; }

.signature-alert { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 18px; padding:15px 17px; border:1px solid #e5b5a6; border-left:5px solid var(--adat-terracotta); border-radius:14px; background:#fff3ef; box-shadow:0 7px 20px rgba(98,50,36,.06); }
.signature-alert > div { display:flex; align-items:center; gap:12px; min-width:0; }
.signature-alert-icon { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:12px; background:#cb6040; color:#fff; font-size:1.25rem; }
.signature-alert strong { color:#78341f; font-size:1rem; }
.signature-alert p { margin:3px 0 0; color:#80584c; font-size:.82rem; }
.signature-button { background:#cb6040 !important; border-color:#cb6040 !important; color:#fff !important; white-space:nowrap; }

/* L'editeur horaire tient dans une seule tuile et n'impose aucune recopie. */
.hours-copy-toolbar, .hours-copy-one { display:none !important; }
.hours-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.hours-day-row { display:block; min-width:0; padding:12px; border:1px solid #dce5e6; border-radius:13px; background:#fff; opacity:1; }
.hours-day-row.closed { background:#f7f8f8; opacity:1; }
.hours-day-heading { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:10px; padding-bottom:9px; border-bottom:1px solid #edf0f1; }
.hours-day-title { display:flex; align-items:baseline; gap:8px; min-width:0; }
.hours-day-name { color:#263f44; font-size:.96rem; }
.hours-state-label { color:#728084; font-size:.71rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.hours-open-toggle { align-self:auto; display:flex; align-items:center; gap:7px; margin:0 !important; padding:6px 9px; border-radius:999px; background:#eaf4f5; color:#1e5d69; font-size:.73rem; font-weight:850; cursor:pointer; }
.hours-open-toggle span { margin:0 !important; color:inherit !important; font-size:inherit !important; text-transform:none !important; letter-spacing:0 !important; }
.hours-day-row.closed .hours-open-toggle { background:#ecefef; color:#6b777a; }
.hours-open-toggle input { width:16px; height:16px; margin:0; }
.hours-closed-copy { display:none; padding:15px 2px 4px; color:#7a8689; font-size:.82rem; }
.hours-day-row.closed .hours-closed-copy { display:block; }
.hours-day-row.closed .hours-periods { display:none; }
.hours-periods { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding-top:10px; }
.hours-period { min-width:0; padding:9px; border:1px solid #e0e8e9; border-radius:11px; background:#fafcfc; }
.hours-period.period-disabled { opacity:.55; background:#f4f5f5; }
.period-switch { display:flex !important; align-items:center; gap:7px; margin:0 0 8px !important; cursor:pointer; }
.period-switch input { width:16px; height:16px; margin:0; flex:0 0 auto; }
.period-icon { display:grid !important; place-items:center; width:25px; height:25px; margin:0 !important; border-radius:8px; background:#eef5f6; color:#277180 !important; font-size:.86rem !important; text-transform:none !important; }
.period-switch > span:last-child { display:flex !important; flex-direction:column; gap:0; margin:0 !important; color:#364c51 !important; text-transform:none !important; letter-spacing:0 !important; }
.period-switch strong { font-size:.78rem; }
.period-switch small { color:#879295; font-size:.65rem; font-weight:600; }
.hours-range { display:grid; grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr); gap:4px; align-items:center; }
.hours-range select { width:100%; min-width:0; padding:7px 5px; font-size:.77rem; }
.hours-range .range-arrow { padding:0; color:#879295; font-size:.7rem; text-align:center; }

.application-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.application-tile { position:relative; display:flex; align-items:center; gap:12px; min-height:106px; padding:16px; border:1px solid #dce5e6; border-radius:15px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 5px 18px rgba(34,61,68,.045); transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.application-tile:hover { transform:translateY(-2px); border-color:#9dc5cc; box-shadow:0 9px 24px rgba(34,61,68,.08); }
.application-icon { width:45px; height:45px; flex:0 0 45px; display:grid; place-items:center; border-radius:13px; background:#e7f2f4; color:#1e5d69; font-size:1.2rem; font-weight:900; }
.application-copy { display:flex; min-width:0; flex-direction:column; gap:4px; }
.application-copy strong { color:#263f44; }
.application-copy small { color:#6a787c; line-height:1.35; }
.application-login { color:#75665e; font-size:.69rem; font-weight:750; overflow-wrap:anywhere; }
.application-arrow { margin-left:auto; color:#277180; font-weight:900; }
.application-forms-panel { margin-top:4px; max-width:980px; }
.application-forms { display:grid; gap:8px; margin-top:12px; }
.application-form-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:11px 12px; border:1px solid #e3e9ea; border-radius:11px; background:#fafcfc; }
.application-form-row > div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-width:0; }
.form-state { display:inline-flex; padding:3px 7px; border-radius:999px; background:#edf1f2; color:#637075; font-size:.67rem; font-weight:850; }
.form-state.state-1 { background:#fff0e8; color:#99502f; }
.form-state.state-2 { background:#e9f4ee; color:#37705a; }

.subscription-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.subscription-card { display:flex; gap:10px; min-width:0; padding:13px; border:1px solid #e0e7e8; border-radius:13px; background:#fff; }
.subscription-card.rgs { border-color:#dfb18f; background:#fff9f4; }
.subscription-icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:10px; background:#edf5f6; }
.subscription-card.rgs .subscription-icon { background:#f8e5d7; }
.subscription-content { display:flex; flex-direction:column; gap:3px; min-width:0; }
.subscription-top { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.subscription-content strong { color:#2d464b; line-height:1.3; }
.subscription-content small { color:#718084; }
.subscription-ref { color:#277180; font-size:.69rem; font-weight:850; }
.rgs-badge { display:inline-flex; padding:2px 6px; border-radius:999px; background:#cb6040; color:#fff; font-size:.62rem; font-weight:900; letter-spacing:.04em; }

.communication-columns { align-items:start; }
.consent-list, .mailing-list { display:grid; gap:8px; margin:12px 0; }
.consent-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 11px; border:1px solid #e3e9ea; border-radius:10px; background:#fafcfc; }
.consent-row > div { display:flex; flex-direction:column; gap:2px; }
.consent-row small { color:#7b888b; }
.consent-state { padding:4px 7px; border-radius:999px; font-size:.67rem; font-weight:850; white-space:nowrap; }
.consent-state.granted { background:#e6f3ed; color:#2e6a52; }
.consent-state.denied { background:#fae9e4; color:#984731; }
.consent-state.unknown { background:#eef1f2; color:#667477; }
.mailing-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px 11px; border:1px solid #e3e9ea; border-radius:10px; background:#fff; color:inherit; text-decoration:none; }
.mailing-row:hover { border-color:#aac8cd; background:#f8fbfb; }
.mailing-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:#edf5f6; }
.mailing-row > span:nth-child(2) { display:flex; flex-direction:column; gap:2px; min-width:0; }
.mailing-row small { color:#768387; }

.finance-row.needs-signature { background:#fff8f4; box-shadow:inset 4px 0 0 #cb6040; }
.signature-chip { display:inline-flex; width:max-content; margin-top:5px; padding:3px 7px; border-radius:999px; font-size:.63rem; font-weight:900; letter-spacing:.035em; }
.signature-chip.urgent { background:#cb6040; color:#fff; }
.signature-chip.done { background:#e3f2eb; color:#2f6d54; }
.finance-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.signature-upload-button { background:#cb6040; border:1px solid #cb6040; color:#fff; }
.signature-upload-button:hover { background:#ac5235; border-color:#ac5235; }
.signed-quote-dialog { width:min(620px,calc(100vw - 24px)); border:0; border-radius:18px; padding:0; }
.signed-quote-shell { padding:20px; }
.signed-quote-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0; }
.signed-quote-flow > div { display:flex; align-items:center; gap:7px; padding:9px; border-radius:10px; background:#f5f8f8; color:#54666a; font-size:.74rem; }
.signed-quote-flow span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#277180; color:#fff; font-size:.67rem; font-weight:900; }
.signed-quote-upload { margin-top:10px; }

/* La pastille suffit à attirer l'oeil sans faire clignoter toute la ligne. */
.ticket-update-badge { border:1px solid #efb9a8; box-shadow:0 0 0 0 rgba(203,96,64,.15); animation:ticketBadgeGlow 1.8s ease-in-out infinite; }
@keyframes ticketBadgeGlow { 0%,100% { box-shadow:0 0 0 0 rgba(203,96,64,.05); } 50% { box-shadow:0 0 0 4px rgba(203,96,64,.13); } }
@media (prefers-reduced-motion: reduce) { .ticket-update-badge { animation:none; } }

@media (max-width:1050px) {
  .hours-editor { grid-template-columns:1fr; }
  .application-tiles, .subscription-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .notification-label { display:none; }
  .notification-button { padding:7px 9px; }
  .signature-alert { align-items:flex-start; flex-direction:column; }
  .hours-periods { grid-template-columns:1fr; }
  .application-tiles, .subscription-grid { grid-template-columns:1fr; }
  .application-form-row { align-items:flex-start; flex-direction:column; }
  .signed-quote-flow { grid-template-columns:1fr; }
}


/* v2.9.0 inherited - rendez-vous PilotageRessources */
.nav-count { margin-left:auto; width:auto !important; min-width:21px; height:21px; padding:0 6px; display:inline-grid; place-items:center; border-radius:999px; background:#cb6040; color:#fff; font-size:.66rem; font-weight:900; text-align:center !important; }
.next-appointment-alert { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; margin:0 0 18px; padding:13px 15px; border:1px solid #c6dfe3; border-left:5px solid #277180; border-radius:14px; background:#f5fafb; color:inherit; text-decoration:none; box-shadow:0 6px 18px rgba(34,61,68,.05); }
.next-appointment-alert:hover { border-color:#8ebbc2; background:#f0f8f9; }
.next-appointment-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#277180; color:#fff; font-size:1.25rem; }
.next-appointment-alert > span:nth-child(2) { display:flex; flex-direction:column; gap:2px; min-width:0; }
.next-appointment-alert small { color:#277180; font-size:.67rem; font-weight:900; letter-spacing:.06em; }
.next-appointment-alert strong { color:#263f44; font-size:.97rem; }
.next-appointment-alert span span { color:#68797d; font-size:.79rem; }
.next-appointment-arrow { color:#277180; font-weight:850; white-space:nowrap; }
.appointment-hero { display:grid; grid-template-columns:82px minmax(0,1fr) auto; gap:18px; align-items:center; margin-bottom:14px; padding:20px; border-left:5px solid #277180; background:linear-gradient(90deg,#f4fafb 0%,#fff 55%); }
.appointment-hero-date { display:grid; place-items:center; align-content:center; width:74px; height:74px; border-radius:16px; background:#1e5d69; color:#fff; }
.appointment-hero-date strong { font-size:1.8rem; line-height:1; }
.appointment-hero-date span { margin-top:3px; font-size:.75rem; font-weight:850; text-transform:uppercase; }
.appointment-hero-copy { min-width:0; }
.appointment-kicker { color:#277180; font-size:.67rem; font-weight:900; letter-spacing:.07em; }
.appointment-hero-copy h3 { margin:4px 0 5px; color:#263f44; font-size:1.15rem; }
.appointment-hero-copy p { margin:2px 0; color:#5d7074; }
.appointment-technicians { font-size:.8rem; }
.appointment-reference { display:inline-flex; margin-top:6px; padding:3px 7px; border-radius:999px; background:#edf4f5; color:#49646a; font-size:.67rem; font-weight:800; }
.appointment-tabs { display:flex; gap:7px; margin:0 0 12px; overflow-x:auto; }
.appointment-tab { border:1px solid #d6e1e3; border-radius:999px; padding:8px 12px; background:#fff; color:#5e6f73; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; white-space:nowrap; }
.appointment-tab span { margin-left:4px; padding:2px 6px; border-radius:999px; background:#eef2f3; font-size:.65rem; }
.appointment-tab.active { border-color:#277180; background:#eaf4f5; color:#1e5d69; }
.appointment-list { display:grid; gap:10px; }
.appointment-card { display:grid; grid-template-columns:76px minmax(0,1fr); gap:14px; padding:14px; border:1px solid #dfe7e8; border-left:4px solid #277180; border-radius:14px; background:#fff; box-shadow:0 4px 14px rgba(34,61,68,.035); }
.appointment-card.past { border-left-color:#9aa6a9; background:#fbfcfc; }
.appointment-card.cancelled { border-left-color:#cb6040; background:#fff8f5; }
.appointment-date-block { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:70px; padding:7px; border-radius:12px; background:#edf5f6; color:#1e5d69; }
.appointment-card.past .appointment-date-block { background:#f0f2f2; color:#677579; }
.appointment-date-block strong { font-size:1.55rem; line-height:1; }
.appointment-date-block span { margin-top:2px; font-size:.72rem; font-weight:900; text-transform:uppercase; }
.appointment-date-block small { margin-top:3px; color:inherit; opacity:.78; font-size:.62rem; text-transform:capitalize; }
.appointment-card-main { min-width:0; }
.appointment-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.appointment-card h3 { margin:0 0 4px; color:#2b454a; font-size:.98rem; }
.appointment-card p { margin:0; color:#68787c; font-size:.8rem; }
.appointment-state { display:inline-flex; padding:4px 8px; border-radius:999px; font-size:.65rem; font-weight:900; white-space:nowrap; }
.appointment-state.upcoming { background:#e5f2f4; color:#1e5d69; }
.appointment-state.past { background:#edf0f0; color:#687579; }
.appointment-state.cancelled { background:#fae7e1; color:#9a432c; }
.appointment-meta { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:9px; color:#718084; font-size:.72rem; }
.appointment-meta span { display:inline-flex; align-items:center; gap:4px; }
.appointment-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.appointment-actions.compact { justify-content:flex-end; margin:0; }
.appointment-actions .button { padding:8px 11px; font-size:.72rem; }
.appointment-empty { padding:30px 15px; }
@media (max-width:760px) {
  .next-appointment-alert { grid-template-columns:40px minmax(0,1fr); }
  .next-appointment-arrow { display:none; }
  .appointment-hero { grid-template-columns:62px minmax(0,1fr); padding:15px; }
  .appointment-hero-date { width:58px; height:58px; border-radius:13px; }
  .appointment-hero-date strong { font-size:1.4rem; }
  .appointment-actions.compact { grid-column:1/-1; justify-content:stretch; }
  .appointment-actions.compact .button { flex:1; }
  .appointment-card { grid-template-columns:58px minmax(0,1fr); gap:10px; padding:11px; }
  .appointment-date-block { min-height:58px; }
  .appointment-date-block strong { font-size:1.25rem; }
  .appointment-card-top { gap:7px; }
}


/* v2.9.5 — organisation, lisibilité et thème sombre */
.side-nav a .nav-badge,
.side-nav a .nav-count { color: #fff !important; }

.display-preferences { position:relative; }
.display-prefs-toggle { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--border); background:var(--surface); color:var(--text); border-radius:11px; padding:8px 10px; font:inherit; font-size:.78rem; font-weight:760; cursor:pointer; }
.display-prefs-toggle:hover, .display-prefs-toggle[aria-expanded="true"] { border-color:var(--adat-blue); background:var(--surface-soft); }
.display-prefs-aa { display:inline-grid; place-items:center; min-width:23px; height:23px; border-radius:7px; background:rgba(39,113,128,.10); color:var(--adat-blue-dark); font-size:.82rem; font-weight:850; letter-spacing:-.04em; }
.display-prefs-panel { position:absolute; right:0; top:calc(100% + 10px); z-index:80; width:min(310px, calc(100vw - 24px)); padding:16px; border:1px solid var(--border); border-radius:15px; background:var(--surface); box-shadow:0 18px 48px rgba(22,37,42,.16); }
.display-prefs-title { display:grid; gap:2px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.display-prefs-title strong { font-size:.9rem; }
.display-prefs-title span { color:var(--muted); font-size:.7rem; }
.display-prefs-panel label { margin:11px 0; font-size:.74rem; }
.display-prefs-panel select { margin-top:5px; padding:9px 10px; font-size:.78rem; }
.display-prefs-panel .button { width:100%; margin-top:4px; }
:root[data-theme="dark"] .display-prefs-aa { background:rgba(139,199,208,.14); color:#b8dce2; }

.theme-toggle { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--border); background:var(--surface); color:var(--adat-blue-dark); border-radius:11px; padding:9px 11px; font-weight:780; cursor:pointer; }
.theme-toggle:hover { border-color:var(--adat-blue); }
.theme-toggle span:first-child { font-size:1.1rem; }
.application-form-row { gap:14px; }
.application-form-meta { display:flex; flex-wrap:wrap; gap:8px 12px; margin-top:6px; color:var(--muted); font-size:.76rem; }
.application-form-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.preference-switch-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; border-top:1px solid var(--border); }
.preference-switch-row:first-child { border-top:0; }
.preference-switch-row small { display:block; color:var(--muted); margin-top:3px; }
.rights-top-grid { margin-bottom:18px; }
.right-request-list { display:grid; gap:10px; }
.right-request { border:1px solid var(--border); border-radius:13px; padding:13px 14px; background:var(--surface-soft); }
.right-request-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.right-request small { display:block; color:var(--muted); margin-top:5px; }
.right-request-actions { display:flex; gap:7px; margin-top:10px; }
.request-status { display:inline-flex; border-radius:999px; padding:5px 8px; font-size:.69rem; font-weight:820; text-transform:uppercase; letter-spacing:.04em; }
.request-status.pending { background:#fff4df; color:#815b16; }
.request-status.approved { background:#e8f5ee; color:#256447; }
.request-status.rejected { background:#fbeceb; color:#993d34; }
select { width:100%; display:block; margin-top:7px; padding:13px 14px; border:1px solid #d6dad7; border-radius:var(--radius-sm); background:var(--surface); color:var(--text); }

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:#202a2d;
  --surface:#2a363a;
  --surface-soft:#253034;
  --text:#f2f6f6;
  --muted:#b7c2c4;
  --border:#46565b;
  --shadow:0 16px 38px rgba(11,23,27,.20);
  --adat-blue:#68b3bf;
  --adat-blue-dark:#8bc7d0;
  --adat-taupe:#cfbbb1;
  --adat-taupe-dark:#e0d2cb;
}
:root[data-theme="dark"] body { background:var(--bg); }
:root[data-theme="dark"] .topbar { background:rgba(42,54,58,.96); border-bottom-color:var(--border); }
:root[data-theme="dark"] .sidebar { background:#253034; }
:root[data-theme="dark"] .side-nav a { color:#c2ccce; }
:root[data-theme="dark"] .side-nav a:hover,
:root[data-theme="dark"] .side-nav a.active { background:#344246; }
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .stat,
:root[data-theme="dark"] .login-card,
:root[data-theme="dark"] .button.secondary,
:root[data-theme="dark"] .scope.active,
:root[data-theme="dark"] .history-item.agent,
:root[data-theme="dark"] .dialog-head { background:var(--surface); color:var(--text); }
:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select { background:#222c2f; color:var(--text); border-color:var(--border); }
:root[data-theme="dark"] .scope-switch,
:root[data-theme="dark"] .closebutton { background:#344246; }
:root[data-theme="dark"] .upload-icon { background:#21373d; }
:root[data-theme="dark"] .suggestions,
:root[data-theme="dark"] .history-item.customer { background:#193036; border-color:#2b5058; }
:root[data-theme="dark"] .file-pill,
:root[data-theme="dark"] .member-role { background:#282625; }
:root[data-theme="dark"] .ticket,
:root[data-theme="dark"] .contact-row,
:root[data-theme="dark"] .member-row,
:root[data-theme="dark"] .documents .doc { border-color:var(--border); }
:root[data-theme="dark"] .ticket-dialog { background:var(--surface); color:var(--text); }
:root[data-theme="dark"] .read-only-notice { background:#282422; border-color:#4a3b34; }
:root[data-theme="dark"] .request-status.pending { background:#443718; color:#f4d891; }
:root[data-theme="dark"] .request-status.approved { background:#1b392c; color:#9bdfbd; }
:root[data-theme="dark"] .request-status.rejected { background:#472724; color:#f2aaa3; }
@media (max-width:720px) { .theme-toggle-label, .display-prefs-label { display:none; } .theme-toggle, .display-prefs-toggle { padding:8px 9px; } .display-prefs-panel { right:-48px; } }
:root[data-theme="dark"] .announcement,
:root[data-theme="dark"] .document-space,
:root[data-theme="dark"] .mini-button,
:root[data-theme="dark"] .ticket-tab,
:root[data-theme="dark"] .portal-toast,
:root[data-theme="dark"] .organization-tab,
:root[data-theme="dark"] .finance-tab,
:root[data-theme="dark"] .finance-row,
:root[data-theme="dark"] .presence-user,
:root[data-theme="dark"] .hours-day-row,
:root[data-theme="dark"] .notification-button,
:root[data-theme="dark"] .application-tile,
:root[data-theme="dark"] .subscription-card,
:root[data-theme="dark"] .mailing-row,
:root[data-theme="dark"] .appointment-tab,
:root[data-theme="dark"] .appointment-card,
:root[data-theme="dark"] kbd { background:var(--surface); color:var(--text); border-color:var(--border); }
:root[data-theme="dark"] .announcement.critical,
:root[data-theme="dark"] .signature-alert,
:root[data-theme="dark"] .finance-row.needs-signature,
:root[data-theme="dark"] .appointment-card.cancelled,
:root[data-theme="dark"] .subscription-card.rgs,
:root[data-theme="dark"] .ticket.has-updates { background:#2b211e; }
:root[data-theme="dark"] .ticket-tab span { background:#344246; color:var(--muted); }
:root[data-theme="dark"] .form-state.state-1 { background:#3b2a22; color:#efb095; }
:root[data-theme="dark"] .file-pill { background:var(--surface); color:var(--text); }


/* v2.9.5 - profils organisation */
.organization-profile-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:18px; max-width:1180px; }
.compact-organization-panel { max-width:1040px; }
.profile-list { display:grid; gap:0; margin-top:8px; }
.profile-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:13px 2px; border-top:1px solid var(--border); }
.profile-row:first-child { border-top:0; }
.profile-row > div { display:flex; min-width:0; flex-direction:column; gap:3px; }
.profile-row span { color:var(--text); font-weight:760; }
.profile-row small { color:var(--muted); line-height:1.4; max-width:620px; }
.profile-row strong { color:var(--adat-blue-dark); text-align:right; }
.service-status-grid { display:grid; gap:10px; margin-top:12px; }
.service-status-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px; border:1px solid var(--border); border-radius:13px; background:var(--surface-soft); }
.service-status-card > div { display:flex; flex-direction:column; gap:3px; }
.service-status-card span:first-child { font-weight:820; }
.service-status-card small { color:var(--muted); }
.service-status { display:inline-flex; flex:0 0 auto; padding:5px 9px; border-radius:999px; font-size:.7rem; font-weight:900; }
.service-status.enabled { background:#e6f3ed; color:#2e6a52; }
.service-status.disabled { background:#eef1f2; color:#6a7679; }
.software-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.software-card { display:flex; align-items:center; gap:12px; min-height:72px; padding:13px 14px; border:1px solid var(--border); border-radius:13px; background:var(--surface-soft); }
.software-card.active { border-color:#9dc5cc; }
.software-card.inactive { opacity:.62; }
.software-icon { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:10px; background:#e7f2f4; color:#1e5d69; font-weight:950; }
.software-card > div { display:flex; flex-direction:column; gap:3px; }
.software-card small { color:var(--muted); }

:root[data-theme="dark"] .application-forms-panel { background:#2d393d; }
:root[data-theme="dark"] .application-form-row { background:#253034; border-color:#4b5b60; }
:root[data-theme="dark"] .application-form-row strong { color:#f2f6f6; }
:root[data-theme="dark"] .application-form-meta { color:#c0cbcd; }
:root[data-theme="dark"] .application-form-actions .button.secondary { background:#344246; color:#eef4f4; border-color:#53666b; }
:root[data-theme="dark"] .form-state { background:#3b494d; color:#d5dfe1; }
:root[data-theme="dark"] .form-state.state-1 { background:#55372c; color:#ffd0ba; }
:root[data-theme="dark"] .form-state.state-2 { background:#29483b; color:#bce9d4; }
:root[data-theme="dark"] .service-status.enabled { background:#29483b; color:#bce9d4; }
:root[data-theme="dark"] .service-status.disabled { background:#3b494d; color:#d5dfe1; }
:root[data-theme="dark"] .software-icon { background:#365057; color:#b7e0e6; }
:root[data-theme="dark"] .software-card.active { border-color:#6e9ba3; background:#2c3b3f; }
:root[data-theme="dark"] .profile-row strong { color:#a7d3da; }
:root[data-theme="dark"] .category-chip { background:#344246; color:#e1eaeb; border-color:#4b5b60; }
:root[data-theme="dark"] .member-role { background:#3b3532; color:#eaded8; }
:root[data-theme="dark"] .hours-day-row { background:#2d393d; border-color:#4b5b60; }
:root[data-theme="dark"] .hours-day-row.closed { background:#293438; }
:root[data-theme="dark"] .hours-period { background:#253034; border-color:#46565b; }
:root[data-theme="dark"] .hours-period.period-disabled { background:#2a3437; }
:root[data-theme="dark"] .hours-day-name,
:root[data-theme="dark"] .period-switch > span:last-child { color:#eef4f4 !important; }
:root[data-theme="dark"] .presence-explanation { background:#293438; }
@media (max-width:900px) { .organization-profile-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .software-grid { grid-template-columns:1fr; } .profile-row { align-items:flex-start; flex-direction:column; gap:7px; } .profile-row strong { text-align:left; } .application-form-row { grid-template-columns:1fr; } }


/* v2.9.5 - lisibilite sombre, contacts et mutualisation */
.span-two-columns { grid-column:1 / -1; }
.mutual-company-card { align-items:flex-start; }
.mutual-company { max-width:55%; text-align:right; color:var(--adat-blue-dark); line-height:1.35; overflow-wrap:anywhere; }
.org-contact-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:12px; }
.org-contact-card { border:1px solid var(--border); border-radius:14px; padding:15px; background:var(--surface-soft); }
.org-contact-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; }
.org-contact-card-head > div { display:flex; flex-direction:column; gap:3px; }
.org-contact-card-head > div > span { color:var(--muted); font-size:.78rem; }
.legal-rep-badge { display:inline-flex; padding:5px 8px; border-radius:999px; background:#f4e5de; color:#8f432d; font-size:.67rem; font-weight:850; white-space:nowrap; }
.org-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
.org-contact-fields label { margin:0; font-size:.72rem; color:var(--muted); }
.org-contact-fields input { margin-top:5px; padding:10px 11px; }
.org-contact-actions { display:flex; justify-content:flex-end; margin-top:13px; }
.contact-change-section { border-top:1px solid var(--border); margin-top:20px; padding-top:18px; }
.contact-change-section h4 { margin:0 0 4px; }
.contact-change-list { display:grid; gap:9px; margin-top:11px; }
.contact-change-request { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; border:1px solid var(--border); border-radius:12px; padding:12px 13px; background:var(--surface-soft); }
.contact-change-request > div:first-child { min-width:0; display:flex; flex-direction:column; gap:3px; }
.contact-change-request small { color:var(--muted); }
.contact-change-summary { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:6px; font-size:.75rem; color:var(--muted); }
.contact-change-summary span { overflow-wrap:anywhere; }
.contact-change-side { display:flex; align-items:flex-end; flex-direction:column; gap:8px; flex:0 0 auto; }
.contact-change-decisions { display:flex; gap:6px; }
.compact-empty { padding:10px 0; }
.profile-row small { max-width:390px; }

:root[data-theme="dark"] {
  --bg:#2b3539;
  --surface:#354247;
  --surface-soft:#303c40;
  --text:#f4f7f7;
  --muted:#c5ced0;
  --border:#5b6a6f;
  --adat-blue:#9ed3db;
  --adat-blue-dark:#b9e0e5;
  --adat-taupe:#e0c8bd;
  --adat-taupe-dark:#f0e2dc;
}
:root[data-theme="dark"] .topbar { background:rgba(53,66,71,.97); }
:root[data-theme="dark"] .sidebar { background:#303c40; }
:root[data-theme="dark"] .side-nav a:hover,
:root[data-theme="dark"] .side-nav a.active { background:#435258; color:#fff; }
:root[data-theme="dark"] .organization-tab.active,
:root[data-theme="dark"] .finance-tab.active,
:root[data-theme="dark"] .appointment-tab.active { background:#497983; color:#fff; border-color:#78aeb8; }
:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .panel-kicker { color:#c5e7eb; }
:root[data-theme="dark"] .top-link,
:root[data-theme="dark"] .doc-action,
:root[data-theme="dark"] .documents a,
:root[data-theme="dark"] .suggestion a,
:root[data-theme="dark"] .read-only-notice a,
:root[data-theme="dark"] .ticket-number-link,
:root[data-theme="dark"] .status a,
:root[data-theme="dark"] .profile-row strong,
:root[data-theme="dark"] .mutual-company { color:#c6e8ec; }
:root[data-theme="dark"] .application-login { color:#e3c9bd; }
:root[data-theme="dark"] .application-icon,
:root[data-theme="dark"] .doc-icon,
:root[data-theme="dark"] .agent-avatar { background:#40545a; color:#d5f0f3; }
:root[data-theme="dark"] .legal-rep-badge { background:#55352c; color:#ffd6c8; }
:root[data-theme="dark"] .org-contact-card,
:root[data-theme="dark"] .contact-change-request { background:#303c40; }
:root[data-theme="dark"] .service-status-card,
:root[data-theme="dark"] .software-card { background:#303c40; }
@media (max-width:900px) { .org-contact-list { grid-template-columns:1fr; } .mutual-company { max-width:50%; } }
@media (max-width:620px) { .org-contact-fields { grid-template-columns:1fr; } .contact-change-request { flex-direction:column; } .contact-change-side { align-items:flex-start; } .mutual-company-card { flex-direction:column; } .mutual-company { max-width:none; text-align:left; } }

/* v2.9.5 - identifiant applications / parapheur */
.application-tile { align-items:center; }
.application-tile-with-login { min-height:122px; }
.application-login { display:flex; flex-wrap:wrap; align-items:center; gap:5px 8px; margin-top:2px; }
.application-login > span { font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.application-login code { padding:3px 7px; border:1px solid #e2d8d3; border-radius:7px; background:#f8f4f2; color:#594b45; font:700 .74rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; overflow-wrap:anywhere; }
.application-actions { margin-left:auto; display:flex; flex:0 0 auto; flex-direction:column; align-items:stretch; gap:6px; }
.application-copy-login, .application-open { min-width:116px; padding:7px 9px; border-radius:8px; font-size:.72rem; font-weight:800; text-align:center; white-space:nowrap; }
.application-copy-login { border:1px solid #d2dddf; background:#f7fafb; color:#31565d; cursor:pointer; }
.application-copy-login:hover { background:#edf5f6; border-color:#9dbdc3; }
.application-copy-login.copy-ok { border-color:#8db6a1; background:#edf7f1; color:#35664e; }
.application-copy-login.copy-error { border-color:#d7a695; background:#fff1ec; color:#88452f; }
.application-open { display:inline-flex; align-items:center; justify-content:center; gap:5px; border:1px solid #2b7582; background:#2b7582; color:#fff; text-decoration:none; }
.application-open:hover { background:#235f69; color:#fff; }
:root[data-theme="dark"] .application-login code { background:#3b484c; border-color:#59696e; color:#f4f7f7; }
:root[data-theme="dark"] .application-copy-login { background:#3a474b; border-color:#596a6f; color:#eaf1f2; }
:root[data-theme="dark"] .application-copy-login:hover { background:#46565b; border-color:#779097; }
:root[data-theme="dark"] .application-open { background:#5f9eaa; border-color:#5f9eaa; color:#10272c; }
:root[data-theme="dark"] .application-open:hover { background:#76b3bd; border-color:#76b3bd; color:#10272c; }
@media (max-width:620px) { .application-tile { align-items:flex-start; flex-wrap:wrap; } .application-actions { width:100%; margin-left:57px; flex-direction:row; } .application-copy-login, .application-open { min-width:0; flex:1; } }


/* === Portail ADAT V3 : catalogue, agents, actualites === */
.portal-application-catalog { display:grid; gap:1.4rem; }
.application-category { display:grid; gap:.7rem; }
.application-category-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:0 .1rem; }
.application-category-head h3 { margin:.15rem 0 0; font-size:1.12rem; }
.application-category-head p { margin:.3rem 0 0; color:var(--muted); max-width:760px; }
.application-sso { display:inline-flex; width:max-content; margin-top:.45rem; padding:.18rem .48rem; border-radius:999px; border:1px solid var(--border); font-size:.68rem; font-weight:800; letter-spacing:.05em; color:var(--adat-blue); background:var(--surface-soft); }
.portal-news-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:1rem; }
.portal-content-list { display:grid; gap:.75rem; margin-top:1rem; }
.portal-content-item { padding:.9rem 1rem; border:1px solid var(--border); border-radius:12px; background:var(--surface-soft); }
.portal-content-item strong { display:block; margin:.28rem 0; color:var(--text); }
.portal-content-item p { margin:.3rem 0 .45rem; color:var(--muted); line-height:1.45; }
.portal-content-item a { color:var(--adat-blue); font-weight:750; text-decoration:none; }
.portal-content-meta { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; font-size:.74rem; color:var(--muted); }
.portal-content-type { display:inline-flex; padding:.16rem .46rem; border-radius:999px; font-weight:800; background:rgba(203,96,64,.12); color:var(--adat-terracotta); }
.portal-content-type.type-training,.portal-content-type.type-webinar { background:rgba(39,113,128,.12); color:var(--adat-blue); }
.portal-home-content { margin:0 0 1rem; padding:1rem; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
.portal-home-head { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:.75rem; }
.portal-home-head h2 { margin:.1rem 0 0; font-size:1.18rem; }
.portal-home-head a { color:var(--adat-blue); font-weight:750; text-decoration:none; }
.portal-home-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
:root[data-theme="dark"] .application-sso { color:#9fd6df; background:#34464c; border-color:#52666d; }
:root[data-theme="dark"] .portal-content-item { background:#344147; border-color:#52636a; }
:root[data-theme="dark"] .portal-content-item a,
:root[data-theme="dark"] .portal-home-head a { color:#9fd6df; }
:root[data-theme="dark"] .portal-content-type.type-training,
:root[data-theme="dark"] .portal-content-type.type-webinar { color:#b8e1e7; background:rgba(109,181,193,.16); }
@media(max-width:900px){ .portal-news-layout,.portal-home-grid{grid-template-columns:1fr;} }

/* ADAT Portal 3.1 - portal-native administration and Support 360 */
.support360-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.support360-toolbar label{min-width:min(420px,100%);flex:1}.support360-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.6fr);gap:18px;align-items:start}.support360-list-panel,.support360-detail-panel{min-width:0}.support360-ticket-list{display:grid;gap:8px;max-height:68vh;overflow:auto;padding-right:4px}.support360-ticket{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);cursor:pointer}.support360-ticket:hover,.support360-ticket.active{border-color:var(--adat-blue);box-shadow:0 5px 18px rgba(25,68,77,.09)}.support360-ticket.active{border-left:4px solid var(--adat-terracotta)}.support360-ticket-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.support360-ticket-top>span{font-size:.78rem;font-weight:700;white-space:nowrap}.support360-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.support360-customer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.support360-customer>div{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.support360-controls{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;margin:14px 0 18px}.support360-history{display:grid;gap:10px;max-height:48vh;overflow:auto;padding-right:4px}.support360-article{padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.support360-article.internal{border-left:4px solid var(--adat-terracotta);background:var(--surface-soft)}.support360-article-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:.86rem}.support360-article-head span{color:var(--muted)}.support360-article-body{line-height:1.55;overflow-wrap:anywhere}.support360-attachments{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.support360-reply{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}

.admin-wide{grid-column:1/-1}.admin-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-subform{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.admin-lists{margin-top:18px}.admin-entra-search{display:flex;gap:10px;align-items:end;margin:10px 0 14px}.admin-entra-search label{flex:1}.entra-group-results{display:grid;gap:7px;max-height:230px;overflow:auto}.entra-group-item{display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);cursor:pointer}.entra-group-item:hover{border-color:var(--adat-blue)}.entra-group-item span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.admin-item .muted{overflow-wrap:anywhere}

:root[data-theme="dark"] .support360-ticket,:root[data-theme="dark"] .support360-article,:root[data-theme="dark"] .entra-group-item{background:#344249;border-color:#506169;color:#f4f7f8}:root[data-theme="dark"] .support360-customer>div,:root[data-theme="dark"] .support360-article.internal,:root[data-theme="dark"] .admin-subform{background:#3b4a50;border-color:#5b6b72}:root[data-theme="dark"] .support360-ticket:hover,:root[data-theme="dark"] .support360-ticket.active,:root[data-theme="dark"] .entra-group-item:hover{border-color:#72b8c7}:root[data-theme="dark"] .support360-ticket.active{border-left-color:#e78566}:root[data-theme="dark"] .panel-kicker,:root[data-theme="dark"] .eyebrow{color:#9bd0da}:root[data-theme="dark"] .support360-article-head span,:root[data-theme="dark"] .entra-group-item span{color:#c7d0d4}

@media(max-width:1000px){.support360-grid,.admin-subgrid{grid-template-columns:1fr}.support360-ticket-list,.support360-history{max-height:none}.support360-controls{grid-template-columns:1fr 1fr}.support360-controls .button{grid-column:1/-1}}@media(max-width:650px){.support360-customer,.support360-controls{grid-template-columns:1fr}.support360-detail-head,.support360-ticket-top{flex-direction:column}.admin-entra-search{align-items:stretch;flex-direction:column}.entra-group-item{align-items:flex-start;flex-direction:column}}
.support360-knowledge{margin:0 0 16px;padding:0}.support360-knowledge-head{margin-bottom:7px}.support360-knowledge-links{display:flex;gap:7px;flex-wrap:wrap}.support360-knowledge-links a{display:inline-flex;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft);color:var(--adat-blue-dark);font-weight:750;text-decoration:none}.support360-knowledge-links a:hover{border-color:var(--adat-blue)}:root[data-theme="dark"] .support360-knowledge-links a{background:#3b4a50;border-color:#5b6b72;color:#c6e8ec}:root[data-theme="dark"] .support360-knowledge-links a:hover{border-color:#72b8c7}


/* Support 360 - 3.1.2 */
.support360-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.support360-metric{display:flex;flex-direction:column;gap:3px;padding:15px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 5px 18px rgba(25,68,77,.05)}.support360-metric>span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.support360-metric>strong{font-size:2rem;line-height:1;color:var(--adat-blue-dark)}.support360-metric>small{color:var(--muted)}
.support360-routing{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.9fr) auto;gap:12px;align-items:end;margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.support360-routing>div{display:flex;flex-direction:column;gap:3px}.support360-routing>div>strong{font-size:1.02rem}.support360-controls{grid-template-columns:1fr 1fr auto}
.support360-attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,260px));gap:10px}.support360-attachment-card{display:grid;gap:7px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.support360-attachment-card>div{display:flex;flex-direction:column;gap:2px;min-width:0}.support360-attachment-card strong{font-size:.82rem;overflow-wrap:anywhere}.support360-attachment-card span{font-size:.74rem;color:var(--muted)}.support-media-preview{display:grid;place-items:center;width:100%;height:150px;padding:0;border:0;border-radius:9px;overflow:hidden;background:#e9eef0;cursor:pointer}.support-media-preview img{width:100%;height:100%;object-fit:cover}.pdf-preview-button{background:#eef2f3;color:var(--text);align-content:center;gap:4px}.pdf-preview-icon{display:grid!important;place-items:center;width:58px;height:70px;border-radius:7px;background:#fff;border:1px solid #d8e0e2;color:#b24f38!important;font-size:1rem!important;font-weight:900!important;box-shadow:0 4px 12px rgba(0,0,0,.08)}.support360-attachment-file{display:block;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft);text-decoration:none;color:var(--text)}
.media-pdf-preview{width:min(1040px,100%);height:calc(92vh - 90px);border:0;border-radius:8px;background:#fff}.media-dialog-shell:has(.media-pdf-preview:not([hidden])){place-items:stretch center}.media-dialog-shell:has(.media-pdf-preview:not([hidden])) .media-caption{text-align:center}
.support-org-dialog{width:min(1050px,96vw);max-height:94vh;padding:0;border:0;border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 32px 90px rgba(18,36,41,.35)}.support-org-dialog::backdrop{background:rgba(20,35,39,.62);backdrop-filter:blur(3px)}.support-org-shell{max-height:94vh;overflow:auto}.support-org-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.support-org-summary>div{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.support-org-section{padding:18px 0;border-top:1px solid var(--border)}.support-org-section-head h3{margin:3px 0 10px}.support-org-hours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.support-org-hours>div{display:flex;justify-content:space-between;gap:14px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.support-org-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.support-org-contact{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.support-org-contact em{align-self:flex-start;margin-top:3px;padding:3px 7px;border-radius:999px;background:rgba(203,96,64,.13);color:var(--adat-terracotta-dark);font-style:normal;font-size:.72rem;font-weight:800}.support-org-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.support-org-two-cols>div{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.support-org-two-cols ul{margin:8px 0 0;padding-left:20px}.support-org-appointments{display:grid;gap:7px}.support-org-appointments>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}
:root[data-theme="dark"] .support360-metric,:root[data-theme="dark"] .support360-attachment-card,:root[data-theme="dark"] .support-org-summary>div,:root[data-theme="dark"] .support-org-hours>div,:root[data-theme="dark"] .support-org-contact,:root[data-theme="dark"] .support-org-two-cols>div,:root[data-theme="dark"] .support-org-appointments>div{background:#3a484e;border-color:#596970}:root[data-theme="dark"] .support360-routing{background:#3a484e;border-color:#596970}:root[data-theme="dark"] .support360-metric>strong{color:#bde6ec}:root[data-theme="dark"] .support-media-preview{background:#46565d}:root[data-theme="dark"] .pdf-preview-button{color:#f4f7f8}:root[data-theme="dark"] .pdf-preview-icon{background:#f6f7f7;color:#b24f38!important;border-color:#d6dede}
@media(max-width:1050px){.support360-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.support360-routing{grid-template-columns:1fr 1fr}.support360-routing .button{grid-column:1/-1}.support-org-contacts{grid-template-columns:1fr}}@media(max-width:650px){.support360-metrics,.support-org-summary,.support-org-hours,.support-org-two-cols{grid-template-columns:1fr}.support360-routing{grid-template-columns:1fr}.support360-attachments{grid-template-columns:1fr}.support-org-appointments>div{flex-direction:column}}


/* === ADAT Portal 3.1.3 : coherence metier, annuaire et contraste === */
.brand img { width:230px; max-height:68px; }
.login-logo { width:min(330px,82%); }
:root[data-theme="dark"] .theme-aware-logo { content:url('/assets/adat-logo-dark.png'); }
:root:not([data-theme="dark"]) .theme-aware-logo { content:url('/assets/adat-logo-light.png'); }

.contact-config-note { grid-column:1/-1; padding:10px 12px; border:1px solid var(--border); border-left:4px solid var(--adat-terracotta); border-radius:10px; background:var(--surface-soft); color:var(--muted); font-size:.8rem; }
.contact-reference-tags { display:flex; flex-wrap:wrap; gap:5px; margin:8px 0 2px; }
.contact-reference-tags span,.directory-tag { display:inline-flex; align-items:center; padding:3px 7px; border:1px solid var(--border); border-radius:999px; background:var(--surface-soft); color:var(--text); font-size:.68rem; font-weight:750; }

.directory-search-panel { max-width:1180px; }
.directory-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; }
.directory-results { display:grid; gap:12px; margin-top:14px; }
.directory-company { border:1px solid var(--border); border-radius:16px; padding:15px; background:var(--surface); }
.directory-company-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.directory-company-head h3 { margin:3px 0 3px; }
.directory-company-head p { margin:0 0 7px; color:var(--muted); font-size:.8rem; }
.directory-company-actions { display:flex; flex-direction:column; gap:7px; align-items:flex-end; min-width:170px; }
.directory-company-phone { font-weight:850; color:var(--text); }
.directory-contacts-preview,.directory-contact-list { display:grid; gap:7px; margin-top:12px; }
.directory-contact { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(180px,.8fr) auto; gap:12px; align-items:center; padding:10px 11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); }
.directory-contact-main { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 7px; }
.directory-contact-main strong { flex-basis:100%; }
.directory-contact-main > span:not(.directory-tag) { color:var(--muted); font-size:.76rem; }
.directory-contact-info { display:flex; flex-direction:column; gap:3px; min-width:0; font-size:.77rem; }
.directory-contact-info a { color:var(--text); overflow-wrap:anywhere; }
.directory-contact-actions { display:flex; justify-content:flex-end; }
.directory-detail-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.directory-detail-summary>div { display:flex; flex-direction:column; gap:3px; padding:11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); }
.directory-detail-summary span { color:var(--muted); font-size:.69rem; font-weight:800; text-transform:uppercase; }
.directory-detail-summary a { margin-top:4px; color:var(--text); font-size:.74rem; font-weight:750; }
.directory-tags-block { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 16px; }
.directory-hours { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 10px; margin:8px 0 16px; }
.directory-hours>div { display:flex; justify-content:space-between; gap:12px; padding:8px 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface-soft); }
.directory-hours span { color:var(--muted); }

/* Le prochain rendez-vous reprend le meme langage visuel que les autres cartes. */
.next-appointment-alert { border-left-color:var(--adat-terracotta); background:var(--surface); border-color:var(--border); border-left-width:5px; }
.next-appointment-alert:hover { background:var(--surface-soft); border-color:var(--border); }
.next-appointment-icon { background:var(--adat-terracotta); }
.next-appointment-alert small,.next-appointment-arrow,.appointment-kicker { color:var(--adat-terracotta-dark); }
.appointment-card { border-left-color:var(--adat-terracotta); background:var(--surface); border-color:var(--border); }
.appointment-date-block { background:var(--surface-soft); color:var(--text); border:1px solid var(--border); }
.appointment-state.upcoming { background:rgba(203,96,64,.12); color:var(--adat-terracotta-dark); }

/* Dark: le canard reste un accent de surface, jamais une couleur de texte faible. */
:root[data-theme="dark"] {
  --adat-blue:#5f919a;
  --adat-blue-dark:#76aab3;
  --text:#f7f9f9;
  --muted:#d2d9da;
  --border:#66767b;
}
:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .panel-kicker,
:root[data-theme="dark"] .top-link,
:root[data-theme="dark"] .doc-action,
:root[data-theme="dark"] .documents a,
:root[data-theme="dark"] .suggestion a,
:root[data-theme="dark"] .ticket-number-link,
:root[data-theme="dark"] .profile-row strong,
:root[data-theme="dark"] .mutual-company,
:root[data-theme="dark"] .application-sso,
:root[data-theme="dark"] .portal-content-item a,
:root[data-theme="dark"] .portal-home-head a,
:root[data-theme="dark"] .subscription-ref,
:root[data-theme="dark"] .application-arrow,
:root[data-theme="dark"] .support360-metric>strong { color:#f7f9f9 !important; }
:root[data-theme="dark"] .organization-tab.active,
:root[data-theme="dark"] .finance-tab.active,
:root[data-theme="dark"] .appointment-tab.active { background:#6b4b42; border-color:#cb8069; color:#fff; }
:root[data-theme="dark"] .application-icon,
:root[data-theme="dark"] .doc-icon,
:root[data-theme="dark"] .agent-avatar { background:#46545a; color:#fff; }
:root[data-theme="dark"] .next-appointment-alert,
:root[data-theme="dark"] .appointment-card { background:#354247; border-color:#66767b; border-left-color:#cb6040; }
:root[data-theme="dark"] .next-appointment-alert small,
:root[data-theme="dark"] .next-appointment-arrow,
:root[data-theme="dark"] .appointment-kicker { color:#ffc0ac !important; }
:root[data-theme="dark"] .next-appointment-alert strong,
:root[data-theme="dark"] .appointment-card h3,
:root[data-theme="dark"] .appointment-date-block { color:#fff; }
:root[data-theme="dark"] .appointment-date-block { background:#303c40; border-color:#66767b; }
:root[data-theme="dark"] .appointment-state.upcoming { background:#5a372e; color:#ffd0c1; }
:root[data-theme="dark"] .directory-company,
:root[data-theme="dark"] .directory-contact,
:root[data-theme="dark"] .directory-detail-summary>div,
:root[data-theme="dark"] .directory-hours>div,
:root[data-theme="dark"] .contact-config-note { background:#303c40; border-color:#66767b; }
:root[data-theme="dark"] .directory-contact-info a,
:root[data-theme="dark"] .directory-detail-summary a { color:#fff; }
@media(max-width:900px){.directory-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-contact{grid-template-columns:1fr auto}.directory-contact-info{grid-column:1/-1}}
@media(max-width:620px){.brand img{width:185px}.directory-search-row,.directory-detail-summary,.directory-hours{grid-template-columns:1fr}.directory-company-head{flex-direction:column}.directory-company-actions{align-items:flex-start;width:100%}.directory-contact{grid-template-columns:1fr}.directory-contact-info,.directory-contact-actions{grid-column:auto}.directory-contact-actions{justify-content:flex-start}}
:root[data-theme="dark"] .software-icon,
:root[data-theme="dark"] .agent-avatar,
:root[data-theme="dark"] .support360-knowledge-links a,
:root[data-theme="dark"] .portal-content-type.type-training,
:root[data-theme="dark"] .portal-content-type.type-webinar { color:#f7f9f9 !important; }
:root[data-theme="dark"] .portal-content-type.type-training,
:root[data-theme="dark"] .portal-content-type.type-webinar { background:#4b5559; }
:root[data-theme="dark"] .support360-knowledge-links a { background:#3a464b; border-color:#66767b; }

/* 3.1.4 - directory search batching and Wiki tile; no visual regression. */

/* 3.1.5 - annuaire contacts: display fixed and mobile numbers separately. */
.directory-phone-line { display:flex; gap:6px; align-items:baseline; color:var(--text); }
.directory-phone-line b { min-width:45px; font-size:.68rem; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); }
.directory-contact-actions { gap:6px; flex-wrap:wrap; }

/* === ADAT Portal 3.1.6 : Console Support simplifiee === */
#agent-support { max-width:none; }
.support360-page-head { margin-bottom:12px; }
.support360-page-head h2 { margin-bottom:4px; }
.support360-page-head p { max-width:760px; }

.support360-toolbar {
  display:grid;
  grid-template-columns:minmax(280px,1.5fr) minmax(190px,.65fr) auto;
  gap:10px;
  align-items:end;
  padding:12px 14px;
  margin-bottom:10px;
}
.support360-toolbar label { min-width:0; }
.support360-identity { grid-column:1/-1; font-size:.72rem; margin-top:-2px; }
.support360-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0 0 12px; }
.support360-metric {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:1px 10px;
  padding:10px 12px;
  border-radius:11px;
  box-shadow:none;
}
.support360-metric>span { font-size:.69rem; align-self:end; }
.support360-metric>strong { grid-column:2; grid-row:1/3; align-self:center; font-size:1.65rem; }
.support360-metric>small { font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.support360-grid.support360-workbench {
  display:grid;
  grid-template-columns:minmax(260px,.68fr) minmax(480px,1.5fr) minmax(285px,.72fr);
  gap:12px;
  align-items:start;
}
.support360-list-panel,
.support360-detail-panel,
.support360-side-panel { min-width:0; }

.support360-list-panel { padding:0; overflow:hidden; }
.support360-list-head { display:flex; align-items:end; justify-content:space-between; gap:10px; padding:14px 14px 10px; border-bottom:1px solid var(--border); }
.support360-list-head h3 { margin:2px 0 0; }
.support360-list-head .status { margin:0; font-size:.7rem; }
.support360-ticket-list { display:grid; gap:0; max-height:69vh; overflow:auto; padding:4px 0; }
.support360-ticket {
  gap:5px;
  padding:11px 13px;
  border:0;
  border-bottom:1px solid var(--border);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.support360-ticket:last-child { border-bottom:0; }
.support360-ticket:hover { background:var(--surface-soft); box-shadow:none; border-color:var(--border); }
.support360-ticket.active { background:var(--surface-soft); border-left:4px solid var(--adat-terracotta); padding-left:9px; box-shadow:none; }
.support360-ticket-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.support360-ticket-ref { font-size:.7rem; font-weight:850; color:var(--muted); }
.support360-ticket-title { font-size:.86rem; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.support360-ticket-customer { color:var(--text); font-size:.75rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.support360-ticket-footer { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:.66rem; }
.support360-ticket-footer span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.support360-state-pill,
.support360-pill {
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--text);
  font-size:.65rem;
  font-weight:850;
  line-height:1.2;
}
.support360-state-pill.open,.support360-pill.state-open { background:rgba(0,120,184,.08); border-color:rgba(0,120,184,.24); }
.support360-state-pill.new,.support360-pill.state-new { background:rgba(203,96,64,.12); border-color:rgba(203,96,64,.3); }
.support360-state-pill.pending,.support360-pill.state-pending { background:rgba(183,137,31,.12); border-color:rgba(183,137,31,.28); }
.support360-state-pill.closed,.support360-pill.state-closed { background:rgba(80,110,90,.09); border-color:rgba(80,110,90,.22); }
.support360-pill.subtle { color:var(--muted); }

.support360-detail-panel { padding:0; overflow:hidden; min-height:580px; }
.support360-empty { min-height:560px; display:grid; place-content:center; gap:6px; text-align:center; color:var(--muted); padding:30px; }
.support360-empty strong { color:var(--text); font-size:1.05rem; }
.support360-detail-shell { min-height:580px; }
.support360-detail-head {
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:16px 18px 13px;
  background:var(--surface);
  border-bottom:1px solid var(--border);
}
.support360-title-block { min-width:0; }
.support360-detail-head h3 { margin:3px 0 6px; font-size:1.05rem; line-height:1.25; }
.support360-detail-head p { margin:6px 0 0; font-size:.7rem; }
.support360-ticket-badges { display:flex; flex-wrap:wrap; gap:5px; }
.button.compact { padding:7px 10px; min-height:34px; white-space:nowrap; }

.support360-history {
  display:flex;
  flex-direction:column;
  gap:9px;
  max-height:47vh;
  overflow:auto;
  padding:14px 18px 18px;
  background:var(--surface-soft);
}
.support360-loading { padding:24px; text-align:center; color:var(--muted); }
.support360-article { max-width:92%; padding:11px 13px; border-radius:13px; background:var(--surface); box-shadow:0 2px 8px rgba(18,36,41,.04); }
.support360-article.internal { margin-left:auto; border-left:0; border-right:4px solid var(--adat-terracotta); background:rgba(203,96,64,.07); }
.support360-article-head { align-items:flex-start; margin-bottom:6px; font-size:.74rem; }
.support360-article-head>div { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.support360-internal-label { padding:2px 6px; border-radius:999px; background:rgba(203,96,64,.16); color:var(--adat-terracotta-dark)!important; font-size:.62rem; font-weight:850; }
.support360-article-body { font-size:.86rem; }
.support360-attachments { grid-template-columns:repeat(auto-fit,minmax(145px,210px)); }
.support-media-preview { height:112px; }

.support360-reply {
  position:sticky;
  bottom:0;
  z-index:5;
  margin:0;
  padding:12px 18px 14px;
  border-top:1px solid var(--border);
  background:var(--surface);
  box-shadow:0 -10px 25px rgba(18,36,41,.06);
}
.support360-reply-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.support360-reply-head h4 { margin:2px 0 0; }
.support360-reply textarea { min-height:82px; resize:vertical; }
.support360-reply-mode { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--border); border-radius:10px; background:var(--surface-soft); }
.support360-reply-mode button { border:0; border-radius:7px; padding:6px 9px; background:transparent; color:var(--muted); font-size:.7rem; font-weight:800; cursor:pointer; }
.support360-reply-mode button.active { background:var(--surface); color:var(--text); box-shadow:0 1px 4px rgba(18,36,41,.12); }
.support360-reply.internal-mode { border-top-color:var(--adat-terracotta); }
.support360-reply.internal-mode .support360-reply-mode button.active { background:rgba(203,96,64,.14); color:var(--adat-terracotta-dark); }
.support360-reply-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; }
.support360-reply-actions .muted { font-size:.7rem; }

.support360-side-panel { padding:12px; position:sticky; top:12px; max-height:78vh; overflow:auto; }
.support360-side-section { margin-bottom:10px; }
.support360-customer { display:grid; grid-template-columns:1fr; gap:8px; margin:8px 0 0; }
.support360-side-card { display:flex; flex-direction:column; gap:4px; padding:11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); font-size:.77rem; }
.support360-side-card strong { font-size:.86rem; }
.support360-side-card a { color:var(--text); overflow-wrap:anywhere; }
.support360-side-card .button { align-self:flex-start; margin-top:4px; }
.support360-side-card.compact-context span:last-child { color:var(--muted); }
.support360-action-drawer { margin-top:9px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); overflow:hidden; }
.support360-action-drawer summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 11px; cursor:pointer; list-style:none; }
.support360-action-drawer summary::-webkit-details-marker { display:none; }
.support360-action-drawer summary span { font-weight:850; font-size:.8rem; }
.support360-action-drawer summary small { color:var(--muted); font-size:.64rem; }
.support360-action-drawer[open] summary { border-bottom:1px solid var(--border); }
.support360-action-body { padding:10px; }
.support360-routing { display:grid; grid-template-columns:1fr; gap:8px; margin:0 0 10px; padding:0; border:0; background:transparent; }
.support360-routing>div { padding:8px 9px; border:1px solid var(--border); border-radius:9px; background:var(--surface); }
.support360-routing label,.support360-controls label { font-size:.7rem; }
.support360-controls { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; }
.support360-controls .button { grid-column:1/-1; }
.support360-knowledge { margin:0; }
.support360-knowledge-head { display:none; }
.support360-knowledge-links { display:grid; gap:6px; }
.support360-knowledge-links a { padding:7px 8px; font-size:.72rem; border-radius:8px; }

:root[data-theme="dark"] .support360-detail-head,
:root[data-theme="dark"] .support360-reply { background:#354247; }
:root[data-theme="dark"] .support360-history { background:#2f3b40; }
:root[data-theme="dark"] .support360-ticket { background:transparent; border-color:#596970; }
:root[data-theme="dark"] .support360-ticket:hover,
:root[data-theme="dark"] .support360-ticket.active { background:#3b494f; }
:root[data-theme="dark"] .support360-article { background:#3a484e; border-color:#596970; color:#f7f9f9; }
:root[data-theme="dark"] .support360-article.internal { background:#4a3c38; border-right-color:#e78566; }
:root[data-theme="dark"] .support360-side-card,
:root[data-theme="dark"] .support360-action-drawer { background:#303c40; border-color:#596970; }
:root[data-theme="dark"] .support360-routing>div { background:#3a484e; border-color:#596970; }
:root[data-theme="dark"] .support360-pill,
:root[data-theme="dark"] .support360-state-pill { color:#f7f9f9; border-color:#66767b; background:#46555b; }
:root[data-theme="dark"] .support360-reply-mode { background:#2f3b40; border-color:#66767b; }
:root[data-theme="dark"] .support360-reply-mode button.active { background:#46555b; color:#fff; }
:root[data-theme="dark"] .support360-internal-label { color:#ffd0c1!important; background:#674238; }

@media(max-width:1320px) {
  .support360-grid.support360-workbench { grid-template-columns:minmax(250px,.65fr) minmax(470px,1.35fr); }
  .support360-side-panel { grid-column:2; position:relative; top:auto; max-height:none; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .support360-side-section { margin:0; }
  .support360-wiki-drawer { margin-top:0; }
}
@media(max-width:980px) {
  .support360-grid.support360-workbench { grid-template-columns:1fr; }
  .support360-side-panel { grid-column:auto; grid-template-columns:1fr; }
  .support360-ticket-list,.support360-history { max-height:none; }
  .support360-toolbar { grid-template-columns:1fr 1fr; }
  .support360-toolbar .button { align-self:end; }
  .support360-identity { grid-column:1/-1; }
  .support360-list-panel { max-height:420px; }
  .support360-ticket-list { max-height:350px; }
  .support360-detail-head,.support360-reply { position:relative; }
}
@media(max-width:650px) {
  .support360-toolbar,.support360-metrics { grid-template-columns:1fr; }
  .support360-metric { grid-template-columns:1fr auto; }
  .support360-detail-head,.support360-reply-head { flex-direction:column; align-items:stretch; }
  .support360-reply-mode { width:100%; }
  .support360-reply-mode button { flex:1; }
  .support360-article { max-width:100%; }
  .support360-controls { grid-template-columns:1fr; }
}

.support360-call{align-self:flex-start;margin-top:3px;text-decoration:none;}
:root[data-theme="dark"] .support360-call{color:#fff;}
\n\n/* === ADAT Portal 3.1.7 === */\n/* Couleurs Dolibarr des tags : couleurs franches en clair, adoucies et lisibles en sombre. */\n.directory-tag.has-color { border-color:var(--tag-color); background:color-mix(in srgb,var(--tag-color) 18%, white); color:color-mix(in srgb,var(--tag-color) 72%, #172226); }\n:root[data-theme="dark"] .directory-tag.has-color { border-color:color-mix(in srgb,var(--tag-color) 72%, #fff); background:color-mix(in srgb,var(--tag-color) 25%, #263237); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); }\n/* Logo officiel en couleurs dans les deux thèmes. */\n:root[data-theme="dark"] .theme-aware-logo,:root:not([data-theme="dark"]) .theme-aware-logo { content:url('/assets/adat-logo-light.png'); }\n/* Tuiles support cliquables et filtrantes. */\n.support360-metric { appearance:none; width:100%; text-align:left; cursor:pointer; font:inherit; color:inherit; }\n.support360-metric:hover { transform:translateY(-1px); border-color:var(--adat-terracotta); }\n.support360-metric.active { border-color:var(--adat-terracotta); box-shadow:0 0 0 2px color-mix(in srgb,var(--adat-terracotta) 18%, transparent); }\n.support360-metric.active strong { color:var(--adat-terracotta-dark); }\n:root[data-theme="dark"] .support360-metric.active strong { color:#ffd2c4; }\n/* Le pilotage des messages passe visuellement en premier dans la grille. */\n.admin-messages-priority { order:-20; grid-column:1/-1; border-top:4px solid var(--adat-terracotta); }\n.rich-editor { min-height:180px; padding:14px 15px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text); line-height:1.55; overflow:auto; }\n.rich-editor:empty:before { content:attr(data-placeholder); color:var(--muted); pointer-events:none; }\n.rich-editor:focus { outline:2px solid color-mix(in srgb,var(--adat-blue) 30%, transparent); border-color:var(--adat-blue); }\n.rich-editor ul,.rich-editor ol,.announcement-preview ul,.announcement-preview ol,.announcement p ul,.announcement p ol,.global-incident ul,.global-incident ol { margin:.55em 0 .55em 1.4em; padding:0; }\n.rich-editor h3,.announcement-preview h3,.announcement h3,.global-incident h3 { margin:.55em 0 .25em; }\n.rich-toolbar,.rich-domain-toolbar { display:flex; flex-wrap:wrap; gap:7px; margin:6px 0 9px; }\n.rich-domain-toolbar { align-items:center; }\n.rich-domain-toolbar>span { font-size:.76rem; color:var(--muted); font-weight:800; }\n.rich-domain-toolbar button { border:1px solid var(--border); border-radius:999px; padding:5px 9px; background:var(--surface-soft); color:var(--text); cursor:pointer; font-weight:750; }\n.domain-badge { display:inline-flex; align-items:center; padding:3px 8px; border-radius:999px; font-size:.82em; font-weight:850; border:1px solid currentColor; white-space:nowrap; }\n.domain-informatique{color:#16708a;background:#e6f6fa}.domain-cyber{color:#9a3c2a;background:#fff0eb}.domain-finance{color:#82620b;background:#fff8dc}.domain-paie{color:#6b4b7e;background:#f4eafa}.domain-juridique{color:#67564e;background:#f4efec}.domain-rgpd{color:#3d648a;background:#eaf3fb}.domain-general{color:#38565d;background:#edf4f5}\n:root[data-theme="dark"] .domain-badge { color:#fff; background:#39474c; border-color:#7d9299; }\n.announcement-image { display:block; max-width:min(100%,720px); max-height:360px; object-fit:contain; margin:10px 0; border-radius:12px; border:1px solid var(--border); background:#fff; }\n:root[data-theme="dark"] .rich-editor { background:#263237; border-color:#617178; }\n\n.category-chip.has-color { border-color:var(--tag-color); background:color-mix(in srgb,var(--tag-color) 17%, white); color:color-mix(in srgb,var(--tag-color) 75%, #172226); }\n:root[data-theme="dark"] .category-chip.has-color { border-color:color-mix(in srgb,var(--tag-color) 70%, #fff); background:color-mix(in srgb,var(--tag-color) 26%, #263237); color:#fff; }\n.announcement-body,.announcement-rich { color:var(--muted); line-height:1.5; }\n.announcement-body p,.announcement-rich p { margin:.35em 0; }\n:root[data-theme="dark"] .announcement-body,:root[data-theme="dark"] .announcement-rich { color:#e7edef; }\n
/* === ADAT Portal 3.1.10 · Support 360 conversationnel === */
.support360-metrics.support360-metrics-operational {
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:900px;
}
.support360-metrics-operational .support360-metric:nth-child(1) { border-top:3px solid #277180; }
.support360-metrics-operational .support360-metric:nth-child(2) { border-top:3px solid #c18b33; }
.support360-metrics-operational .support360-metric:nth-child(3) { border-top:3px solid #7a6691; }
.support360-state-pill.rdv,.support360-pill.state-rdv { background:#efe8f6; color:#604775; border-color:#c9b5d8; }

/* Le fil ressemble à une conversation : demandeur à gauche, agent à droite. */
.support360-history {
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:12px 8px 14px;
  background:color-mix(in srgb,var(--surface-soft) 72%, transparent);
  border-radius:14px;
}
.support360-chat-row { display:flex; width:100%; }
.support360-chat-row.customer { justify-content:flex-start; }
.support360-chat-row.agent { justify-content:flex-end; }
.support360-chat-row.internal { justify-content:center; }
.support360-chat-row .support360-article {
  width:auto;
  max-width:min(78%,760px);
  margin:0;
  border:1px solid transparent;
  border-radius:17px;
  box-shadow:0 3px 10px rgba(25,52,58,.06);
  padding:10px 13px 11px;
}
.support360-chat-row.customer .support360-article {
  background:#eaf5f7;
  border-color:#bfdde2;
  border-bottom-left-radius:5px;
  color:#20373c;
}
.support360-chat-row.agent .support360-article {
  background:#f9ece7;
  border-color:#e8c3b7;
  border-bottom-right-radius:5px;
  color:#402d28;
}
.support360-chat-row.internal .support360-article {
  max-width:min(88%,820px);
  background:#fff8df;
  border:1px dashed #d7ba66;
  color:#493f25;
  border-radius:12px;
}
.support360-chat-role {
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:2px 7px;
  border-radius:999px;
  font-size:.64rem;
  line-height:1.3;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
  background:rgba(255,255,255,.58);
  color:inherit!important;
}
.support360-chat-row .support360-article-head { color:inherit; }
.support360-chat-row .support360-article-head>span { color:color-mix(in srgb,currentColor 70%, transparent); }
.support360-chat-row .support360-article-body { font-size:.84rem; line-height:1.48; }
.support360-chat-row .support360-attachments { margin-top:9px; }

/* Archives résolues hors de la file opérationnelle. */
.support-archive-shell { width:min(920px,94vw); max-height:88vh; overflow:auto; }
.support-archive-toolbar { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; margin:12px 0; }
.support-archive-toolbar label { margin:0; }
.support-archive-list { max-height:58vh; }
.support360-ticket.archive { opacity:.92; }
.support360-knowledge-head { display:flex; flex-direction:column; gap:2px; }
.support360-knowledge-head small { color:var(--muted); font-size:.68rem; }

:root[data-theme="dark"] .support360-history { background:#263238; }
:root[data-theme="dark"] .support360-chat-row.customer .support360-article {
  background:#29454b;
  border-color:#47717a;
  color:#f4fafb;
}
:root[data-theme="dark"] .support360-chat-row.agent .support360-article {
  background:#513b36;
  border-color:#80594f;
  color:#fff7f4;
}
:root[data-theme="dark"] .support360-chat-row.internal .support360-article {
  background:#4a432d;
  border-color:#8f7b3e;
  color:#fff8dc;
}
:root[data-theme="dark"] .support360-chat-role { background:rgba(255,255,255,.10); }
:root[data-theme="dark"] .support360-state-pill.rdv,
:root[data-theme="dark"] .support360-pill.state-rdv { background:#463952; color:#f0dcff; border-color:#765f88; }

@media(max-width:900px){
  .support360-metrics.support360-metrics-operational { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; }
  .support360-chat-row .support360-article { max-width:88%; }
}
@media(max-width:650px){
  .support360-metrics.support360-metrics-operational { grid-template-columns:1fr; }
  .support360-chat-row .support360-article,.support360-chat-row.internal .support360-article { max-width:96%; }
  .support-archive-toolbar { grid-template-columns:1fr; }
}

/* === ADAT Portal 3.1.13 · centre de notifications adhérents === */
.notification-center-button {
  position:relative;
  width:42px;
  height:42px;
  display:inline-grid;
  place-items:center;
  border:1px solid #d5e0e2;
  border-radius:50%;
  background:#fff;
  color:#40565b;
  font:inherit;
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.notification-center-button:hover { border-color:#9fc2c8; background:#f5fafb; transform:translateY(-1px); }
.notification-center-button.has-unread { border-color:#e4a591; background:#fff7f4; color:#8f3d27; }
.notification-center-icon { font-size:1.06rem; line-height:1; }
.notification-center-badge {
  position:absolute;
  top:-5px;
  right:-6px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:2px solid #fff;
  background:var(--adat-terracotta);
  color:#fff;
  font-size:.64rem;
  line-height:1;
  font-weight:900;
}
.notification-center-dialog {
  width:min(760px,94vw);
  max-height:88vh;
  padding:0;
  border:0;
  border-radius:20px;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 28px 80px rgba(19,42,48,.24);
  overflow:hidden;
}
.notification-center-dialog::backdrop { background:rgba(20,32,36,.42); backdrop-filter:blur(3px); }
.notification-center-shell { display:grid; grid-template-rows:auto auto minmax(120px,1fr) auto; max-height:88vh; }
.notification-center-head {
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  padding:22px 24px 17px;
  border-bottom:1px solid var(--border);
}
.notification-center-head h2 { margin:3px 0 4px; font-size:1.45rem; }
.notification-center-head p { margin:0; color:var(--muted); max-width:580px; font-size:.88rem; }
.notification-center-toolbar { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:11px 24px; background:var(--surface-soft); border-bottom:1px solid var(--border); }
.ticket-notification-list { overflow:auto; padding:12px 14px 18px; display:grid; gap:9px; background:var(--surface-soft); }
.ticket-notification-card {
  --notif-accent:var(--adat-blue);
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  padding:15px;
  border:1px solid var(--border);
  border-left:4px solid var(--notif-accent);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 5px 16px rgba(31,54,60,.05);
}
.ticket-notification-card.kind-reply { --notif-accent:var(--adat-blue); }
.ticket-notification-card.kind-appointment { --notif-accent:#75608e; }
.ticket-notification-card.kind-resolved { --notif-accent:#4f8068; }
.ticket-notification-card.kind-pending { --notif-accent:#b7842c; }
.ticket-notification-card.kind-updated { --notif-accent:var(--adat-taupe); }
.ticket-notification-icon {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:color-mix(in srgb,var(--notif-accent) 12%, white);
  color:var(--notif-accent);
  font-weight:900;
  font-size:1.12rem;
}
.ticket-notification-content { min-width:0; }
.ticket-notification-top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:2px; }
.ticket-notification-kind { color:var(--notif-accent); font-size:.67rem; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.ticket-notification-top time { color:var(--muted); font-size:.7rem; white-space:nowrap; }
.ticket-notification-card h3 { margin:2px 0 5px; font-size:1rem; }
.ticket-notification-ticket { display:flex; gap:7px; align-items:baseline; min-width:0; color:var(--text); font-size:.82rem; }
.ticket-notification-ticket strong { color:var(--notif-accent); }
.ticket-notification-ticket span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:750; }
.ticket-notification-card p { margin:8px 0; color:var(--muted); font-size:.84rem; line-height:1.48; }
.ticket-notification-meta { display:flex; flex-wrap:wrap; gap:7px 12px; align-items:center; color:var(--muted); font-size:.71rem; }
.ticket-notification-meta .ticket-state { padding:2px 7px; border:1px solid var(--border); border-radius:999px; background:var(--surface-soft); color:var(--text); font-weight:800; }
.ticket-notification-actions { display:flex; align-items:center; gap:9px; margin-top:11px; }
.notification-read-action { border:0; background:transparent; color:var(--muted); font:inherit; font-size:.74rem; font-weight:750; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.notification-read-action:hover { color:var(--text); }
.notification-empty { min-height:230px; display:grid; place-items:center; align-content:center; text-align:center; color:var(--muted); padding:34px; }
.notification-empty>span { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#e9f4ef; color:#47705d; font-weight:900; font-size:1.2rem; margin-bottom:10px; }
.notification-empty strong { color:var(--text); font-size:1rem; }
.notification-empty p { margin:5px 0 0; max-width:420px; font-size:.84rem; }
.notification-center-foot { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:14px 24px; border-top:1px solid var(--border); background:var(--surface); }
.notification-center-foot>div { display:grid; gap:1px; }
.notification-center-foot strong { font-size:.82rem; }
.notification-center-foot span { color:var(--muted); font-size:.72rem; }

:root[data-theme="dark"] .notification-center-button { background:#2b373c; border-color:#53636a; color:#f3f7f8; }
:root[data-theme="dark"] .notification-center-button.has-unread { background:#49352f; border-color:#8b5d50; color:#ffd9cd; }
:root[data-theme="dark"] .notification-center-badge { border-color:#2b3539; }
:root[data-theme="dark"] .notification-center-dialog { background:#222d31; }
:root[data-theme="dark"] .notification-center-dialog::backdrop { background:rgba(7,13,15,.64); }
:root[data-theme="dark"] .notification-center-toolbar,
:root[data-theme="dark"] .ticket-notification-list { background:#1f2a2e; }
:root[data-theme="dark"] .ticket-notification-card { background:#29363b; border-color:#47565c; box-shadow:none; }
:root[data-theme="dark"] .ticket-notification-icon { background:color-mix(in srgb,var(--notif-accent) 28%, #29363b); color:#fff; }
:root[data-theme="dark"] .ticket-notification-ticket,
:root[data-theme="dark"] .ticket-notification-card h3 { color:#f5f8f8; }
:root[data-theme="dark"] .ticket-notification-card p,
:root[data-theme="dark"] .ticket-notification-meta,
:root[data-theme="dark"] .ticket-notification-top time { color:#c6d0d3; }
:root[data-theme="dark"] .ticket-notification-meta .ticket-state { background:#334247; border-color:#596a70; color:#fff; }
:root[data-theme="dark"] .notification-empty>span { background:#30493f; color:#d8f3e5; }
:root[data-theme="dark"] .notification-center-foot { background:#222d31; }

@media(max-width:700px) {
  .notification-center-dialog { width:96vw; max-height:92vh; }
  .notification-center-shell { max-height:92vh; }
  .notification-center-head,.notification-center-toolbar,.notification-center-foot { padding-left:16px; padding-right:16px; }
  .notification-center-toolbar,.notification-center-foot { align-items:stretch; flex-direction:column; }
  .ticket-notification-card { grid-template-columns:34px minmax(0,1fr); padding:12px; }
  .ticket-notification-icon { width:32px; height:32px; }
  .ticket-notification-top { align-items:flex-start; flex-direction:column; gap:2px; }
  .ticket-notification-actions { align-items:stretch; flex-direction:column; }
  .ticket-notification-actions .button { width:100%; }
}


/* === ADAT Portal 3.1.17 · RDV dans les notifications === */
.ticket-notification-rdv { margin:10px 0 2px; padding:10px 12px; border-radius:11px; border:1px solid #e5b19f; background:#fff2ed; display:grid; gap:2px; color:#6f3427; }
.ticket-notification-rdv strong { color:#a44631; font-size:.82rem; }
.ticket-notification-rdv span { font-size:.78rem; font-weight:750; }
.ticket-notification-rdv small { color:#76564e; font-size:.72rem; }
:root[data-theme="dark"] .ticket-notification-rdv { background:#46342f; border-color:#8f6255; color:#ffe9e2; }
:root[data-theme="dark"] .ticket-notification-rdv strong { color:#ffc3b0; }
:root[data-theme="dark"] .ticket-notification-rdv small { color:#e7cdc5; }

/* --- Notes de frais agent v3.1.19 --- */
.expenses-section{max-width:1180px}
.expense-period-bar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:14px;padding:16px 20px;margin-bottom:16px}
.expense-period-bar>div{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center}.expense-period-bar strong{font-size:1.15rem}.expense-month-button{width:44px;height:44px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);color:var(--text);font-size:1.7rem;cursor:pointer}.expense-month-button:hover{border-color:var(--adat-blue);color:var(--adat-blue)}
.expense-status-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);font-size:.74rem;font-weight:800}.expense-status-badge.status-draft{color:var(--adat-blue-dark)}.expense-status-badge.status-rejected{color:var(--adat-terracotta-dark)}.expense-status-badge.status-paid{color:var(--adat-blue-dark)}
.expense-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.expense-summary-card{display:grid;gap:3px;padding:20px 22px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px rgba(31,54,60,.04)}.expense-summary-card span,.expense-summary-card small{color:var(--muted)}.expense-summary-card strong{font-size:1.65rem;letter-spacing:-.025em}
.expense-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.expense-action-card{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;width:100%;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(31,54,60,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.expense-action-card:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(39,113,128,.4);box-shadow:0 14px 30px rgba(31,54,60,.08)}.expense-action-card:disabled{opacity:.5;cursor:not-allowed}.expense-action-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--surface-soft);color:var(--adat-blue);font-size:1.35rem}.expense-action-card strong,.expense-action-card small{display:block}.expense-action-card strong{font-size:1rem}.expense-action-card small{color:var(--muted);margin-top:3px}.expense-action-arrow{font-size:1.25rem;color:var(--adat-blue)}
.expense-list-panel{padding:22px}.expense-lines{display:grid;gap:9px;margin-top:12px}.expense-line-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px 10px;border-top:1px solid var(--border)}.expense-line-card:first-child{border-top:0}.expense-line-card.needs-arrival{background:linear-gradient(90deg,rgba(39,113,128,.05),transparent);border-radius:14px;border-top-color:transparent}.expense-line-date{display:grid;text-align:center;gap:2px}.expense-line-date strong{font-size:.9rem}.expense-line-date span{font-size:.65rem;font-weight:850;letter-spacing:.1em;color:var(--muted)}.expense-line-main{min-width:0;display:grid;gap:3px}.expense-line-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.expense-line-main>span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-line-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.75rem}.expense-line-alert{display:inline-flex;padding:3px 7px;border-radius:999px;background:rgba(203,96,64,.1);color:var(--adat-terracotta-dark);font-size:.68rem;font-weight:800}.expense-line-amount{display:flex;align-items:center;gap:8px}.expense-line-amount>strong{white-space:nowrap;font-size:1rem}.expense-edit-line,.expense-delete-line{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.05rem;cursor:pointer}.expense-edit-line:hover{background:var(--surface-soft);color:var(--adat-blue)}.expense-delete-line{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.1rem;cursor:pointer}.expense-delete-line:hover{background:var(--surface-soft);color:var(--adat-terracotta-dark)}.expense-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.expense-submit-row>div{display:grid;gap:2px}.expense-empty{padding:38px 18px;text-align:center;color:var(--muted)}.expense-empty>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:var(--surface-soft);color:var(--adat-blue);font-size:1.3rem}.expense-empty strong{display:block;color:var(--text);font-size:1rem}.expense-empty p{margin:5px 0 0}
.expense-dialog{width:min(760px,calc(100vw - 28px));max-height:92vh;border:0;border-radius:24px;padding:0;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(20,35,40,.25)}.expense-dialog::backdrop{background:rgba(20,28,32,.52);backdrop-filter:blur(4px)}.expense-dialog-shell{margin:0;display:flex;flex-direction:column;max-height:92vh}.expense-dialog-head{display:flex;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid var(--border)}.expense-dialog-head h2{margin:4px 0 4px;font-size:1.45rem}.expense-dialog-head p{margin:0;color:var(--muted);max-width:600px}.expense-dialog-body{padding:20px 26px;overflow:auto}.expense-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid var(--border);background:var(--surface-soft)}.expense-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.expense-form-grid .span-two-columns{grid-column:1/-1}.expense-camera-zone{display:grid;place-items:center;text-align:center;gap:3px;margin:18px 0;padding:26px;border:1.5px dashed rgba(39,113,128,.45);border-radius:18px;background:rgba(39,113,128,.035);cursor:pointer}.expense-camera-zone:hover{border-color:var(--adat-blue);background:rgba(39,113,128,.06)}.expense-camera-icon{font-size:2rem;color:var(--adat-blue);margin-bottom:3px}.expense-camera-zone small{color:var(--muted);font-weight:500}.expense-photo-preview{margin:14px 0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface-soft)}.expense-photo-preview img{display:block;width:100%;max-height:300px;object-fit:contain}.expense-pdf-preview{padding:28px;display:flex;align-items:center;justify-content:center;gap:12px}.expense-pdf-preview strong{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--adat-terracotta);color:white}.expense-ocr-result{margin:16px 0;padding:16px 18px;border:1px solid rgba(39,113,128,.24);border-radius:16px;background:rgba(39,113,128,.045)}.expense-ocr-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:800}.expense-confidence{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.7rem}.confidence-high{color:var(--adat-blue-dark)}.confidence-low{color:var(--adat-terracotta-dark)}.expense-ocr-excerpt{font-size:.78rem;line-height:1.45;max-height:72px;overflow:auto}
.expense-odometer-steps{display:grid;gap:10px;margin:18px 0}.odometer-step{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:14px 15px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.odometer-step.complete{border-color:rgba(39,113,128,.35);background:rgba(39,113,128,.05)}.odometer-step-number{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--border);font-weight:850;color:var(--adat-blue)}.odometer-step>div:nth-child(2){display:grid;gap:2px}.odometer-step>div:nth-child(2)>span{color:var(--muted);font-size:.8rem}.odometer-photo-button{margin:0;cursor:pointer}.expense-distance-result{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;margin:14px 0;padding:16px 18px;border-radius:16px;background:var(--adat-blue-dark);color:white}.expense-distance-result strong{font-size:1.45rem}.expense-distance-result small{grid-column:1/-1;color:rgba(255,255,255,.75)}

@media(max-width:760px){.expense-summary-grid{grid-template-columns:1fr 1fr}.expense-summary-card:first-child{grid-column:1/-1}.expense-quick-actions{grid-template-columns:1fr}.expense-line-card{grid-template-columns:54px minmax(0,1fr)}.expense-line-amount{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.expense-submit-row{align-items:stretch;flex-direction:column}.expense-submit-row .button{width:100%}.expense-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}.expense-dialog-shell{height:100dvh;max-height:none}.expense-dialog-head{padding:18px 18px 14px}.expense-dialog-body{padding:16px 18px}.expense-dialog-actions{padding:12px 18px;position:sticky;bottom:0}.expense-dialog-actions .button{flex:1}.expense-form-grid{grid-template-columns:1fr}.expense-form-grid .span-two-columns{grid-column:auto}.expense-camera-zone{min-height:150px}.odometer-step{grid-template-columns:34px 1fr}.odometer-photo-button{grid-column:1/-1;width:100%;text-align:center}.expense-period-bar{grid-template-columns:40px 1fr 40px;padding:12px}.expense-month-button{width:38px;height:38px}.expense-line-main>span{white-space:normal}}

/* v3.1.19 - edition mobile des brouillons */
.expense-edit-line{flex:0 0 auto}
@media(max-width:720px){.expense-line-card{grid-template-columns:58px minmax(0,1fr);align-items:start}.expense-line-amount{grid-column:1/-1;justify-content:flex-end;padding:4px 2px 0}.expense-line-amount>strong{margin-right:auto}.expense-edit-line,.expense-delete-line{width:40px;height:40px;background:var(--surface-soft)}.expense-dialog-actions{position:sticky;bottom:0;z-index:2}.expense-dialog-actions .button{min-height:44px}}

/* === ADAT Portal 3.1.20 - Pilotage mobile par sous-menus === */
.admin-hub{display:grid;gap:14px;margin-top:18px}
.admin-hub-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-hub-tile{appearance:none;width:100%;min-width:0;min-height:92px;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text);padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;text-align:left;cursor:pointer;font:inherit;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.admin-hub-tile:hover{border-color:var(--adat-blue);transform:translateY(-1px)}
.admin-hub-tile:focus-visible{outline:3px solid color-mix(in srgb,var(--adat-blue) 28%, transparent);outline-offset:2px}
.admin-hub-tile-primary{min-height:126px;padding:20px;border:2px solid color-mix(in srgb,var(--adat-terracotta) 65%, var(--border));background:color-mix(in srgb,var(--adat-terracotta) 7%, var(--panel))}
.admin-hub-tile-primary:hover{border-color:var(--adat-terracotta)}
.admin-hub-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--surface-soft);font-size:1.35rem;flex:none}
.admin-hub-tile-primary .admin-hub-icon{width:58px;height:58px;border-radius:16px;background:color-mix(in srgb,var(--adat-terracotta) 14%, var(--surface-soft));font-size:1.7rem}
.admin-hub-copy{min-width:0;display:grid;gap:3px}
.admin-hub-copy small{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:var(--adat-terracotta-dark)}
.admin-hub-copy strong{font-size:1rem;line-height:1.18}
.admin-hub-tile-primary .admin-hub-copy strong{font-size:1.28rem}
.admin-hub-copy span{font-size:.82rem;line-height:1.35;color:var(--muted)}
.admin-hub-arrow{font-size:1.7rem;color:var(--muted);line-height:1}
.admin-panel-toolbar{display:flex;align-items:center;gap:12px;margin:16px 0 14px;padding:10px 0;border-bottom:1px solid var(--border)}
.admin-panel-toolbar>div{min-width:0;display:grid;gap:2px}
.admin-panel-toolbar small{font-size:.66rem;letter-spacing:.08em;font-weight:900;color:var(--muted)}
.admin-panel-toolbar strong{font-size:1rem;overflow-wrap:anywhere}
.admin-back-button{min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--text);padding:9px 13px;font:inherit;font-weight:800;cursor:pointer}
.admin-panel-view[hidden]{display:none!important}
.announcement-broadcast-summary{display:flex;gap:12px;align-items:center;margin:12px 0 18px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--adat-blue) 8%, var(--surface-soft));border:1px solid color-mix(in srgb,var(--adat-blue) 24%, var(--border))}
.announcement-broadcast-summary>div{display:grid;gap:2px;min-width:0}
.announcement-broadcast-summary strong{font-size:1rem}
.announcement-broadcast-summary span{font-size:.82rem;color:var(--muted);line-height:1.4}
.announcement-broadcast-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--panel);font-size:1.25rem;flex:none}
.announcement-mobile-form{display:grid;gap:14px}
.announcement-mobile-form>label{margin:0}
.announcement-core-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:12px}
.announcement-core-options label{min-width:0}
.field-hint{font-size:.72rem;font-weight:500;color:var(--muted)}
.admin-advanced-options{border:1px solid var(--border);border-radius:13px;background:var(--surface-soft);overflow:hidden}
.admin-advanced-options summary{cursor:pointer;min-height:48px;padding:13px 14px;font-weight:850;display:flex;align-items:center;user-select:none}
.admin-advanced-options summary::marker{color:var(--adat-blue)}
.admin-advanced-body{padding:0 14px 14px;display:grid;gap:12px}
.announcement-submit-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:4px}
.announcement-submit-bar .button.primary{min-width:190px}
.admin-list-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.admin-list-heading h4{margin:0}
.admin-list-heading+.admin-list{margin-top:10px;padding-top:0;border-top:0}

@media(max-width:760px){
  .admin-section{margin-top:18px;padding-top:20px}
  .admin-section>.section-heading{margin-bottom:10px}
  .admin-section>.section-heading h2{font-size:1.45rem}
  .admin-section>.section-heading p{font-size:.88rem;line-height:1.45}
  .admin-hub-secondary{grid-template-columns:1fr 1fr;gap:9px}
  .admin-hub-tile{min-height:84px;padding:12px;gap:9px;border-radius:14px}
  .admin-hub-tile-primary{min-height:118px;padding:17px;grid-template-columns:auto minmax(0,1fr) auto}
  .admin-hub-icon{width:40px;height:40px;border-radius:11px;font-size:1.1rem}
  .admin-hub-tile-primary .admin-hub-icon{width:50px;height:50px;font-size:1.45rem}
  .admin-hub-copy strong{font-size:.9rem}
  .admin-hub-tile-primary .admin-hub-copy strong{font-size:1.16rem}
  .admin-hub-copy span{font-size:.74rem}
  .admin-hub-arrow{font-size:1.4rem}
  .admin-panel-toolbar{position:sticky;top:0;z-index:15;background:var(--surface);padding:9px 0;margin:8px 0 12px}
  .admin-panel-view{border-radius:15px;padding:15px!important}
  .announcement-broadcast-summary{align-items:flex-start;margin-top:8px}
  .announcement-core-options{grid-template-columns:1fr}
  .announcement-mobile-form input,.announcement-mobile-form select,.announcement-mobile-form textarea{font-size:16px;min-height:46px}
  .announcement-mobile-form .rich-editor{font-size:16px;min-height:190px;padding:13px}
  .rich-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .rich-toolbar .mini-button{min-height:44px;padding:8px 5px;white-space:normal;line-height:1.15}
  .rich-domain-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .rich-domain-toolbar>span{grid-column:1/-1}
  .rich-domain-toolbar button{min-height:42px;border-radius:11px;padding:7px 5px;white-space:normal}
  .announcement-preview{max-height:220px;overflow:auto}
  .announcement-submit-bar{display:grid;grid-template-columns:1fr;gap:8px}
  .announcement-submit-bar .button{width:100%;min-height:48px}
  .admin-list-heading{align-items:flex-start;flex-direction:column;gap:3px}
  .admin-item-head{flex-direction:column}
  .admin-item-actions{width:100%}
  .admin-item-actions .mini-button{min-height:42px;flex:1}
  .admin-advanced-options summary{min-height:50px}
}

@media(max-width:430px){
  .admin-hub-secondary{grid-template-columns:1fr}
  .admin-hub-tile{min-height:72px;grid-template-columns:40px minmax(0,1fr) auto}
  .admin-hub-tile-primary{min-height:124px;grid-template-columns:50px minmax(0,1fr) auto}
  .admin-hub-copy span{font-size:.78rem}
  .admin-hub-tile:not(.admin-hub-tile-primary) .admin-hub-copy span{display:none}
  .rich-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rich-domain-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-back-button span{display:none}
}

/* === ADAT Portal 3.1.21 - anti-zoom iOS/Android sur les champs === */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/*
 * Safari iOS zoome automatiquement au focus lorsque la taille calculee du
 * champ est inferieure a 16px. La preference d'affichage "Compacte" reste
 * disponible pour l'interface, mais les controles editables gardent au
 * minimum 16px sur mobile pour eviter ce zoom persistant.
 */
@media (max-width: 900px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  textarea,
  select,
  [contenteditable="true"],
  .rich-editor {
    font-size: 16px !important;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  textarea,
  select {
    min-height: 44px;
  }
}

/* === ADAT Portal 3.1.22 - saisie mobile des trajets par tiers === */
.expense-thirdparty-field{position:relative;margin:4px 0 10px}
.expense-thirdparty-field>label{display:block;margin-bottom:6px;font-weight:750}
.expense-thirdparty-search-wrap{position:relative}
.expense-thirdparty-search-wrap input{width:100%;padding-right:42px}
.expense-thirdparty-search-wrap>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.2rem;color:var(--muted);pointer-events:none}
.expense-thirdparty-results{position:absolute;left:0;right:0;top:78px;z-index:30;max-height:270px;overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 44px rgba(20,35,40,.16);padding:6px}
.expense-thirdparty-result{appearance:none;width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:12px 11px;display:grid;gap:3px;text-align:left;cursor:pointer;border-radius:9px}
.expense-thirdparty-result:last-child{border-bottom:0}
.expense-thirdparty-result strong{font-size:.94rem}
.expense-thirdparty-result span,.expense-thirdparty-loading{font-size:.79rem;color:var(--muted)}
.expense-thirdparty-result:hover,.expense-thirdparty-result:focus-visible{background:var(--surface-soft);outline:none}
.expense-thirdparty-loading{padding:13px}
.expense-thirdparty-loading.error{color:var(--adat-terracotta-dark)}
.expense-thirdparty-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid rgba(39,113,128,.28);border-radius:14px;background:rgba(39,113,128,.05)}
.expense-thirdparty-selected>div{display:grid;gap:2px;min-width:0}
.expense-thirdparty-selected strong{font-size:.95rem}
.expense-thirdparty-selected span{font-size:.79rem;color:var(--muted);overflow-wrap:anywhere}
.expense-route-panel{margin:18px 0;padding:17px 18px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}
.expense-route-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.expense-route-head>div{display:grid;gap:2px}
.expense-route-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid rgba(39,113,128,.3);border-radius:999px;background:var(--surface);color:var(--adat-blue-dark);font-size:.72rem;font-weight:800}
.expense-route-options{margin-bottom:5px}
.expense-roundtrip-label{display:grid;align-content:end}
.expense-roundtrip-label>span:first-child{font-weight:700;margin-bottom:6px}
.expense-roundtrip-control{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.expense-roundtrip-control input{width:20px;height:20px;margin:0}
.expense-route-calc{width:100%;min-height:46px;margin-top:5px}
.expense-route-result{display:grid;gap:4px;margin:12px 0;padding:13px 14px;border-radius:14px;background:var(--adat-blue-dark);color:#fff}
.expense-route-result>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.expense-route-result strong{font-size:1.25rem;white-space:nowrap}
.expense-route-result small{color:rgba(255,255,255,.78);line-height:1.35;overflow-wrap:anywhere}
.expense-km-input{display:grid;gap:6px;margin-top:12px;font-weight:750}
.expense-km-input input{font-weight:800;font-size:1.05rem}
.expense-odometer-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:20px 0 8px;padding-top:16px;border-top:1px solid var(--border)}
.expense-odometer-title>div{display:grid;gap:2px}
.expense-odometer-title small{color:var(--muted);max-width:360px;text-align:right}

@media(max-width:760px){
  .expense-thirdparty-results{position:static;max-height:240px;margin-top:6px;box-shadow:none}
  .expense-thirdparty-result{min-height:54px;padding:11px 9px}
  .expense-thirdparty-selected{align-items:stretch;flex-direction:column}
  .expense-thirdparty-selected .button{width:100%;min-height:44px}
  .expense-route-panel{margin:16px -2px;padding:14px;border-radius:15px}
  .expense-route-head{align-items:flex-start}
  .expense-route-result>div{align-items:flex-start}
  .expense-odometer-title{align-items:flex-start;flex-direction:column;gap:4px}
  .expense-odometer-title small{text-align:left}
  .expense-route-calc{min-height:48px}
  .expense-km-input input{min-height:48px}
}


/* === ADAT Portal 3.1.23 - mobile expense actions === */
button,[role="button"],.expense-action-card,.expense-line-editable{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.expense-line-editable{cursor:pointer}
.expense-line-editable:focus-visible{outline:3px solid color-mix(in srgb,var(--adat-blue) 32%, transparent);outline-offset:2px;border-radius:14px}
.expense-edit-label{display:none;font-size:.86rem;font-weight:800}
@media(max-width:720px){
  .expense-action-card{min-height:76px;position:relative;z-index:1}
  .expense-action-card:disabled{pointer-events:none}
  .expense-line-card.expense-line-editable{border:1px solid var(--border);border-radius:16px;padding:13px 12px;margin-bottom:8px;background:var(--surface)}
  .expense-line-card.expense-line-editable:active{background:var(--surface-soft)}
  .expense-line-amount{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}
  .expense-line-amount>strong{margin-right:0}
  .expense-edit-line{width:auto;min-width:112px;height:44px;border-radius:12px;background:var(--adat-blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;font-weight:800}
  .expense-edit-line:hover,.expense-edit-line:active{background:var(--adat-blue-dark,#1f6473);color:#fff}
  .expense-edit-label{display:inline}
  .expense-delete-line{width:44px;height:44px;border-radius:12px}
  .expense-complete-trip{min-height:44px}
}
@media(max-width:390px){
  .expense-line-amount{grid-template-columns:1fr auto}
  .expense-line-amount>strong{grid-column:1/-1}
  .expense-edit-line{min-width:0;width:100%}
}

/* 3.1.25 - choix explicite appareil photo ou galerie pour les relevés compteur */
.odometer-photo-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.odometer-photo-actions .odometer-photo-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:normal}
@media(max-width:760px){.odometer-photo-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:8px;width:100%}.odometer-photo-actions .odometer-photo-button{width:100%;min-height:48px;text-align:center}.odometer-step{align-items:start}}

/* 3.1.26 - photos notes de frais optimisees avant upload; stockage dissocie de l OCR */

/* 3.1.27 - saisie manuelle compteur en secours ou sans OCR */
.expense-manual-odometer{margin:14px 0;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.expense-manual-odometer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.expense-manual-odometer-head>div{display:grid;gap:2px}.expense-manual-odometer-head small{color:var(--muted);text-align:right;max-width:360px}.expense-manual-odometer-grid{margin-top:4px}.expense-manual-odometer-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.expense-manual-odometer-actions .button{min-height:44px}.expense-manual-odometer-actions .muted{font-size:.8rem;line-height:1.35;flex:1;min-width:220px}
@media(max-width:760px){.expense-manual-odometer{padding:14px}.expense-manual-odometer-head{align-items:flex-start;flex-direction:column;gap:4px}.expense-manual-odometer-head small{text-align:left}.expense-manual-odometer-actions{display:grid;grid-template-columns:1fr}.expense-manual-odometer-actions .button{width:100%;min-height:50px}.expense-manual-odometer-actions .muted{min-width:0}.expense-manual-odometer input{font-size:16px!important}}

/* 3.1.28 - OCR compteur rapide, photo compteur compressee en mode compact */

/* 3.1.29 - saisie compteur manuelle atomique avec enregistrement du déplacement */

/* Formulaire - contacts & habilitations (3.1.23) */
.formulaire-contact-heading{align-items:flex-start;gap:18px}
.formulaire-contact-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.formulaire-contact-sections{display:grid;gap:18px}
.formulaire-contact-group{display:grid;gap:10px}
.formulaire-contact-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.formulaire-contact-group-title strong{font-size:1rem;color:var(--text)}
.formulaire-contact-group-title span{font-size:.78rem;color:var(--muted)}
.formulaire-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.org-contact-card{display:grid;gap:12px;padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.org-contact-card.elected{border-top:3px solid var(--adat-terracotta)}
.org-contact-card.agent{border-top:3px solid var(--adat-blue)}
.org-contact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.org-contact-card-head>div:first-child{display:grid;gap:2px;min-width:0}
.org-contact-card-head strong{font-size:1rem}
.org-contact-card-head span{font-size:.8rem;color:var(--muted)}
.contact-type-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.legal-rep-badge,.contact-kind-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;font-size:.69rem;font-weight:800;white-space:nowrap}
.legal-rep-badge{color:var(--adat-terracotta-dark);background:rgba(203,96,64,.11);border:1px solid rgba(203,96,64,.25)}
.contact-kind-badge{color:var(--adat-blue-dark);background:rgba(39,113,128,.09);border:1px solid rgba(39,113,128,.22)}
.formulaire-role-chips{display:flex;flex-wrap:wrap;gap:6px}
.formulaire-role-chips span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--role-color,#277180) 35%,transparent);background:color-mix(in srgb,var(--role-color,#277180) 10%,var(--surface));color:var(--text);font-size:.68rem;font-weight:800}
.formulaire-role-chips span.sensitive{box-shadow:inset 3px 0 var(--role-color,var(--adat-terracotta))}
.legal-rights-note,.contact-config-note{padding:9px 11px;border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:.76rem;line-height:1.4}
.org-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.org-contact-fields label{display:grid;gap:5px;font-size:.72rem;font-weight:750;color:var(--muted)}
.org-contact-fields input,.org-contact-fields select{width:100%}
.org-contact-actions{display:flex;flex-wrap:wrap;gap:7px;padding-top:2px}
.formulaire-workflow-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:14px;border:1px solid rgba(203,96,64,.3);border-radius:14px;background:rgba(203,96,64,.08)}
.formulaire-workflow-banner>div{display:grid;gap:3px}
.formulaire-workflow-banner strong{color:var(--adat-terracotta-dark)}
.formulaire-workflow-banner span{font-size:.78rem;color:var(--muted)}
.workflow-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.workflow-rule-card{display:grid;gap:4px;padding:14px 15px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.workflow-rule-card.simple{border-left:4px solid var(--adat-blue)}
.workflow-rule-card.sensitive{border-left:4px solid var(--adat-terracotta)}
.workflow-rule-card span{font-weight:750}
.workflow-rule-card small{color:var(--muted);line-height:1.45}
.formulaire-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;padding:0;border:0;border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.formulaire-dialog::backdrop{background:rgba(12,19,24,.58);backdrop-filter:blur(2px)}
.formulaire-dialog-shell{padding:20px;overflow:auto;max-height:90vh}
.formulaire-dialog .dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.formulaire-dialog .dialog-head h2{margin:.2rem 0 .25rem}
.formulaire-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.formulaire-form-grid label,.formulaire-dialog form>label{display:grid;gap:6px;font-size:.76rem;font-weight:750;color:var(--muted)}
.formulaire-form-grid .span-two{grid-column:1/-1}
.formulaire-dialog-section{display:grid;gap:9px;margin:15px 0;padding-top:14px;border-top:1px solid var(--border)}
.formulaire-dialog-section h3{margin:0;font-size:.95rem}
.formulaire-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.formulaire-role-option{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);cursor:pointer}
.formulaire-role-option.sensitive{border-color:rgba(203,96,64,.28);background:rgba(203,96,64,.06)}
.formulaire-role-option input{margin-top:3px;flex:0 0 auto}
.formulaire-role-option span{display:grid;gap:2px;min-width:0}
.formulaire-role-option strong{font-size:.78rem}
.formulaire-role-option small{font-size:.68rem;color:var(--muted);line-height:1.35}
.formulaire-flow-notice{display:grid;gap:4px;margin:12px 0;padding:11px 12px;border-radius:12px;font-size:.78rem}
.formulaire-flow-notice.simple{background:rgba(39,113,128,.08);border:1px solid rgba(39,113,128,.22)}
.formulaire-flow-notice.sensitive{background:rgba(203,96,64,.08);border:1px solid rgba(203,96,64,.27)}
.formulaire-flow-notice span{color:var(--muted);line-height:1.4}
.formulaire-access-list{display:grid;gap:16px}
.formulaire-access-section{display:grid;gap:8px}
.formulaire-access-section h4{margin:0 0 2px;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}
.formulaire-access-row{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(250px,1.7fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}
.formulaire-access-person{display:grid;gap:2px;min-width:0}
.formulaire-access-person span,.formulaire-access-person small{font-size:.72rem;color:var(--muted)}
.formulaire-access-roles{min-width:0}
.formulaire-access-actions{display:flex;justify-content:flex-end}
.compact-empty{padding:10px!important}

@media(max-width:760px){
  .formulaire-contact-heading,.formulaire-workflow-banner{align-items:stretch;flex-direction:column}
  .formulaire-contact-toolbar{justify-content:stretch}
  .formulaire-contact-toolbar .button{flex:1 1 100%}
  .formulaire-contact-grid{grid-template-columns:1fr}
  .org-contact-fields,.formulaire-form-grid,.formulaire-role-grid,.workflow-rules-grid{grid-template-columns:1fr}
  .formulaire-form-grid .span-two{grid-column:auto}
  .formulaire-access-row{grid-template-columns:1fr;align-items:start}
  .formulaire-access-actions{justify-content:flex-start}
  .formulaire-dialog-shell{padding:16px}
}

/* ============================================================
   FORMATIONS ADAT - v3.1.32
   ============================================================ */
.formation-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.formation-tab{border:1px solid var(--border,#d8e1e3);background:var(--panel,#fff);color:var(--text,#263238);padding:10px 15px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer;display:flex;gap:8px;align-items:center}
.formation-tab span{min-width:24px;height:24px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#edf4f5;color:#277180;font-size:.78rem}
.formation-tab.active{background:#277180;color:#fff;border-color:#277180}.formation-tab.active span{background:rgba(255,255,255,.18);color:#fff}
.formation-card-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:1180px;margin:0 auto}
.formation-card,.formation-my-card{background:var(--panel,#fff);border:1px solid var(--border,#d9e1e3);border-radius:22px;box-shadow:0 12px 36px rgba(30,65,72,.07);overflow:hidden}
.formation-card-wide{padding:0;display:block}.formation-card-visual{height:230px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e9f4f6,#dcebed)}.formation-card-visual img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.formation-card:hover .formation-card-visual img{transform:scale(1.015)}.formation-card-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,42,48,.38),transparent 55%);pointer-events:none}.formation-card-visual-fallback{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;color:#277180;background:radial-gradient(circle at 70% 30%,rgba(203,96,64,.13),transparent 28%),linear-gradient(135deg,#eef7f8,#dae9ec)}.formation-card-visual-fallback i{font-size:3.2rem}.formation-card-visual-fallback span{font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.formation-date-overlay{position:absolute;left:22px;bottom:18px;z-index:2;display:flex;gap:9px;align-items:center;background:rgba(255,255,255,.94);color:#26383c;padding:9px 13px;border-radius:12px;box-shadow:0 5px 18px rgba(0,0,0,.13)}.formation-date-overlay span{font-weight:850}.formation-date-overlay strong{color:#277180;border-left:1px solid #d7e0e2;padding-left:9px}.formation-card-content{padding:24px 26px 26px}.formation-card-content h3{font-size:1.45rem;line-height:1.18;margin:9px 0 10px;color:var(--text)}.formation-card-summary{font-size:.95rem;line-height:1.62;color:var(--muted);margin:0 0 21px;max-width:980px}
.formation-card-meta{display:flex;gap:7px;flex-wrap:wrap}.formation-card-meta span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#f1f5f6;color:#52666b;font-size:.69rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.formation-card-meta i{color:#277180}
.formation-facts-modern,.formation-detail-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 22px}.formation-fact{display:flex;gap:10px;align-items:center;min-width:0;padding:11px 12px;border-radius:13px;background:var(--surface-soft,#f6f8f8)}.formation-fact-icon{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(39,113,128,.11);color:#277180}.formation-fact div{min-width:0;display:grid;gap:2px}.formation-fact small{font-size:.67rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.025em}.formation-fact strong{font-size:.82rem;line-height:1.28;white-space:normal;overflow-wrap:anywhere}.formation-card-actions,.formation-my-actions,.formation-commercial-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.formation-card-actions .button{display:inline-flex;align-items:center;gap:7px}.button.ghost{background:transparent;border-color:transparent;color:var(--adat-blue)}
.formation-my-list{display:grid;gap:18px}.formation-my-card{padding:20px}.formation-my-card.cancelled{opacity:.7}.formation-my-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.formation-my-head h3{margin:7px 0 4px}.formation-my-head p{margin:0;color:var(--muted)}.formation-quote-chip{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:900}.formation-quote-chip.done{background:#e5f4ec;color:#236c49}.formation-quote-chip.pending{background:#fff3da;color:#8b6512}.formation-quote-chip.waiting{background:#edf2f3;color:#63757a}.formation-quote-chip.danger{background:#fde9e5;color:#a44331}
.formation-progress{display:grid;grid-template-columns:repeat(6,1fr);margin:20px 0 16px;position:relative}.formation-progress:before{content:"";position:absolute;left:4%;right:4%;top:15px;height:2px;background:#e0e6e8}.formation-progress-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:#839095}.formation-progress-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--panel,#fff);border:2px solid #d8e1e3;font-size:.72rem;font-weight:900}.formation-progress-step small{font-size:.66rem;font-weight:700}.formation-progress-step.done{color:#277180}.formation-progress-step.done>span{background:#277180;border-color:#277180;color:#fff}
.formation-commercial{display:flex;justify-content:space-between;gap:16px;align-items:center;background:var(--surface-soft,#f6f8f8);border-radius:14px;padding:14px 15px;margin:15px 0}.formation-commercial>div:first-child{display:grid;gap:2px}.formation-commercial span{font-size:.72rem;color:var(--muted);font-weight:800}.formation-commercial strong{font-size:1rem}.formation-commercial small{color:var(--muted)}.formation-quote-diagnostic{width:100%;display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border-radius:10px;background:#fff0eb;color:#9b4938;font-size:.78rem;line-height:1.4}.formation-quote-diagnostic i{margin-top:2px}.formation-participants{border-top:1px solid var(--border);margin-top:16px;padding-top:15px}.formation-participants-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--muted);font-size:.8rem}.formation-participant-row{display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(180px,auto);gap:12px;align-items:center;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.formation-participant-row>div:first-child{display:grid}.formation-participant-row>div:first-child span{font-size:.76rem;color:var(--muted)}.formation-participant-row.cancelled{opacity:.55}.formation-participant-status{font-size:.75rem;font-weight:800}.formation-participant-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.formation-self{display:inline-flex!important;width:max-content;padding:2px 5px;border-radius:99px;background:#e6f2f4;color:#277180!important;font-size:.62rem!important;text-transform:uppercase;font-weight:900}.formation-gate-note{margin-top:12px;padding:10px 12px;border-radius:11px;background:#fff7e5;color:#795b16;font-size:.8rem}.formation-tabs{display:flex;gap:8px;margin:16px 0 18px;border-bottom:1px solid var(--border)}.formation-tab{appearance:none;border:0;background:transparent;color:var(--muted);padding:10px 13px 11px;font:inherit;font-weight:800;cursor:pointer;border-bottom:3px solid transparent}.formation-tab.active{color:#277180;border-bottom-color:#277180}.formation-tab span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:var(--surface-soft);font-size:.7rem}.formation-quote-summary{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;margin:0 0 18px;padding:14px 16px;border-radius:15px;background:#fff7e8;border:1px solid #f0d79c}.formation-quote-summary-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#9b6b00}.formation-quote-summary>div:nth-child(2){display:grid;gap:2px}.formation-quote-summary span{font-size:.8rem;color:#725e32}
.formation-dialog{border:0;padding:0;border-radius:20px;width:min(620px,calc(100vw - 32px));background:transparent}.formation-dialog::backdrop,.formation-detail-dialog::backdrop{background:rgba(20,31,34,.62);backdrop-filter:blur(3px)}.formation-dialog-shell{background:var(--panel,#fff);color:var(--text,#263238);border-radius:20px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.formation-dialog-shell>label{display:grid;gap:7px;margin:15px 0;font-weight:750}.formation-dialog-shell select,.formation-dialog-shell input[type=file]{width:100%}.formation-modality{border:1px solid var(--border,#d8e1e3);border-radius:13px;padding:12px 14px;margin:14px 0;display:flex;gap:18px;flex-wrap:wrap}.formation-modality legend{font-weight:800;padding:0 6px}.formation-modality label{display:flex;gap:7px;align-items:center}.formation-dialog-note{padding:11px 12px;border-radius:11px;background:#edf5f6;color:#51666b;font-size:.84rem;line-height:1.45}.formation-dialog-note strong{color:#277180}
.formation-detail-dialog{border:0;padding:0;background:transparent;width:min(1120px,calc(100vw - 28px));max-height:94vh;border-radius:24px}.formation-detail-shell{position:relative;background:var(--panel,#fff);border-radius:24px;overflow:auto;max-height:94vh;box-shadow:0 30px 90px rgba(0,0,0,.3)}.formation-detail-close{position:sticky;float:right;top:14px;right:14px;z-index:5;margin:14px 14px -58px 0;background:rgba(255,255,255,.92);box-shadow:0 4px 15px rgba(0,0,0,.12)}.formation-detail-hero{height:280px;overflow:hidden;background:#e7f1f3}.formation-detail-hero img{width:100%;height:100%;object-fit:cover;display:block}.formation-detail-hero-fallback{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;color:#277180;background:radial-gradient(circle at 75% 25%,rgba(203,96,64,.15),transparent 25%),linear-gradient(135deg,#eef7f8,#dcecef)}.formation-detail-hero-fallback i{font-size:4rem}.formation-detail-hero-fallback span{font-weight:900;letter-spacing:.12em;text-transform:uppercase}.formation-detail-content{padding:28px 32px 30px}.formation-detail-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.formation-detail-heading h2{font-size:1.8rem;line-height:1.15;margin:9px 0 7px}.formation-detail-heading p{margin:0}.formation-detail-date{display:flex;gap:10px;align-items:center;flex:none;padding:12px 14px;border-radius:14px;background:#edf5f6;color:#277180}.formation-detail-date>i{font-size:1.2rem}.formation-detail-date>div{display:grid}.formation-detail-date span{font-size:.78rem;color:#607278}.formation-detail-facts{margin:22px 0}.formation-detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:24px;align-items:start}.formation-program-panel{padding:23px;border:1px solid var(--border);border-radius:17px;background:var(--panel)}.formation-detail-description{margin-top:12px;white-space:normal;font-size:.94rem;line-height:1.72;color:var(--text)}.formation-detail-description br{content:"";display:block;margin:.22em 0}.formation-detail-aside{display:grid;gap:12px}.formation-detail-aside section{padding:16px;border-radius:15px;background:var(--surface-soft)}.formation-detail-aside p{margin:8px 0 0;color:var(--muted);font-size:.86rem;line-height:1.55}.formation-detail-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.formation-page-heading .button{display:inline-flex;align-items:center;gap:7px}
[data-theme="dark"] .formation-card,[data-theme="dark"] .formation-my-card,[data-theme="dark"] .formation-dialog-shell,[data-theme="dark"] .formation-detail-shell,[data-theme="dark"] .formation-program-panel{background:var(--panel,#2f393d)}[data-theme="dark"] .formation-card-meta span,[data-theme="dark"] .formation-fact,[data-theme="dark"] .formation-commercial,[data-theme="dark"] .formation-detail-aside section{background:rgba(255,255,255,.055)}[data-theme="dark"] .formation-date-overlay{background:rgba(35,48,52,.94);color:#fff}[data-theme="dark"] .formation-progress-step>span{background:var(--panel,#2f393d)}
@media (max-width:900px){.formation-facts-modern,.formation-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.formation-detail-layout{grid-template-columns:1fr}.formation-detail-heading{flex-direction:column}.formation-detail-date{width:100%}.formation-card-visual{height:210px}}
@media (max-width:760px){.formation-card-content{padding:19px}.formation-card-visual{height:185px}.formation-facts-modern,.formation-detail-facts{grid-template-columns:1fr}.formation-my-head,.formation-commercial{align-items:flex-start;flex-direction:column}.formation-progress{grid-template-columns:repeat(3,1fr);row-gap:14px}.formation-progress:before{display:none}.formation-quote-summary{grid-template-columns:auto 1fr}.formation-quote-summary .button{grid-column:1/-1;width:100%}.formation-participant-row{grid-template-columns:1fr}.formation-participant-actions{justify-content:flex-start}.formation-detail-content{padding:21px 18px}.formation-detail-hero{height:190px}.formation-detail-actions{flex-direction:column}.formation-detail-actions .button{width:100%}}


/* Navigation iconographique Font Awesome - v3.1.36 */
.side-nav a .nav-icon{width:30px;height:30px;min-width:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--adat-blue) 9%,transparent);color:var(--adat-blue);font-size:.88rem;transition:background .15s ease,color .15s ease}.side-nav a:hover .nav-icon,.side-nav a.active .nav-icon{background:var(--adat-blue);color:#fff}.side-nav a .nav-icon i{width:auto}.admin-hub-icon i{color:var(--adat-blue)}.admin-hub-tile-primary .admin-hub-icon i{color:var(--adat-terracotta-dark)}
.side-nav a > span:not(.nav-icon):not(.nav-badge):not(.nav-count){width:auto;text-align:left;color:inherit}.side-nav a .nav-badge,.side-nav a .nav-count{margin-left:auto}

/* Formation quote action feedback - v3.1.36 */
.formation-quote-action-status{display:none;width:100%;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:10px;font-size:.8rem;line-height:1.4}
.formation-quote-action-status:not(:empty){display:flex}
.formation-quote-action-status.info{background:#eef6f7;color:#205f6b}
.formation-quote-action-status.success{background:#eaf7ee;color:#24643a}
.formation-quote-action-status.error{background:#fff0eb;color:#9b4938}
.formation-quote-action-status i{margin-top:2px;flex:none}
.formation-finalize-quote[aria-busy="true"]{opacity:.75;cursor:progress}

/* Reprise diagnostique devis Formation - v3.1.37 */
.formation-quote-diagnostic.warning{border-color:#d59b2a;background:rgba(213,155,42,.10)}
.formation-quote-diagnostic.warning i{color:#b67800}

/* Formation 3.1.40 - espace documentaire */
.formation-documents{margin:18px 0;padding:16px;border:1px solid #dfe7ea;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(28,66,76,.06)}
.formation-documents-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.formation-documents-head>div{display:flex;align-items:center;gap:11px}.formation-documents-head>div>i{font-size:20px;color:#277180}
.formation-documents-head span{display:flex;flex-direction:column;gap:2px}.formation-documents-head strong{font-size:15px}.formation-documents-head small{font-size:12px;color:#6c7c82;font-weight:400}
.formation-document-count{display:inline-flex!important;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#eef5f6;color:#277180;font-weight:700;font-size:12px}
.formation-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}
.formation-document-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #e4eaed;border-radius:12px;background:#fbfcfd}
.formation-document-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:#eef4f5;color:#277180;font-size:18px}
.formation-document-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.formation-document-copy strong{font-size:13px;color:#1d2d33}.formation-document-copy span{font-size:11.5px;color:#718087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.formation-document-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.formation-document-actions .button{margin:0}
.formation-documents-empty{display:flex;align-items:center;gap:9px;padding:12px;border-radius:10px;background:#f7f9fa;color:#758289;font-size:12px}
@media(max-width:760px){.formation-document-grid{grid-template-columns:1fr}.formation-document-card{grid-template-columns:40px minmax(0,1fr)}.formation-document-actions{grid-column:1/-1;justify-content:flex-start;padding-left:51px}}

/* Formation 3.1.41 - inscription profonde depuis le site public */


/* v3.1.42 - multi-organisations / secrétariat mutualisé */
.organization-switcher{display:flex;align-items:center;gap:.55rem;max-width:360px;padding:.34rem .58rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}
.organization-switcher>i{color:var(--primary);font-size:.95rem}.organization-switcher label{display:flex;align-items:center;gap:.45rem;min-width:0}.organization-switcher label>span{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.organization-switcher select{min-width:170px;max-width:245px;border:0;background:transparent;color:var(--text);font:inherit;font-weight:650;outline:none;text-overflow:ellipsis}.delegated-organization-banner{display:flex;align-items:flex-start;gap:.75rem;margin:0 0 1rem;padding:.78rem 1rem;border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--text)}.delegated-organization-banner>i{margin-top:.18rem;color:var(--primary)}.delegated-organization-banner div{display:grid;gap:.15rem}.delegated-organization-banner strong{font-size:.93rem}.delegated-organization-banner span{font-size:.82rem;color:var(--muted);line-height:1.35}@media(max-width:1100px){.organization-switcher label>span{display:none}.organization-switcher select{max-width:180px}}@media(max-width:760px){.organization-switcher{order:3;width:100%;max-width:none}.organization-switcher label{width:100%}.organization-switcher select{width:100%;max-width:none}}


/* v3.1.43 - abonnements ERP, secretariat mutualise et historique vide */
.history.history-empty::before { display:none; }

.secretariat-card { grid-column:1 / -1; align-items:flex-start; }
.secretariat-card-body { display:flex; gap:10px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.secretariat-master-card { display:block; }
.secretariat-managed-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.secretariat-managed-item { width:100%; border:1px solid #dce6e8; background:#fff; border-radius:11px; padding:10px 12px; display:flex; justify-content:space-between; align-items:center; gap:12px; text-align:left; cursor:pointer; color:#30484d; }
.secretariat-managed-item:hover { border-color:#8abac3; background:#f5fafb; }
.secretariat-managed-item span { display:flex; flex-direction:column; gap:2px; min-width:0; }
.secretariat-managed-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.secretariat-managed-item small { color:#718084; }
.secretariat-managed-item i { color:#2f7c89; }

.subscription-contracts { display:flex; flex-direction:column; gap:14px; }
.subscription-contract { border:1px solid #dce5e7; border-radius:15px; background:#fff; overflow:hidden; box-shadow:0 2px 8px rgba(30,65,72,.04); }
.subscription-contract-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:16px 18px; background:#f8fbfb; border-bottom:1px solid #e5ecee; }
.subscription-contract-title { display:flex; gap:12px; align-items:flex-start; }
.subscription-contract-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:10px; background:#e8f3f5; color:#256f7c; }
.subscription-contract-title h4 { margin:0 0 4px; color:#263f44; font-size:1rem; }
.subscription-contract-meta { display:flex; flex-wrap:wrap; gap:5px 12px; color:#6e7f82; font-size:.78rem; }
.subscription-contract-summary { display:flex; flex-direction:column; gap:4px; align-items:flex-end; min-width:100px; color:#587075; }
.subscription-contract-summary strong { color:#30494e; font-size:.86rem; }
.subscription-contract-summary small { font-size:.72rem; }
.contract-status { display:inline-flex; align-items:center; border-radius:999px; padding:4px 8px; background:#e6f4ed; color:#26704b; font-size:.69rem; font-weight:850; text-transform:uppercase; letter-spacing:.03em; }
.contract-status.status-0 { background:#fff2cf; color:#8a6100; }
.contract-status.status-3 { background:#fce7e7; color:#9a3535; }
.subscription-contract-warning { margin:12px 18px 0; padding:9px 11px; display:flex; gap:8px; align-items:flex-start; border-radius:9px; background:#fff3db; color:#7b5710; font-size:.8rem; }
.subscription-service-list { padding:4px 18px 12px; }
.subscription-service-row { display:grid; grid-template-columns:minmax(260px,2.3fr) minmax(80px,.55fr) minmax(165px,1fr); gap:12px; align-items:center; padding:12px 2px; border-bottom:1px solid #edf1f2; }
.subscription-service-row:last-child { border-bottom:0; }
.subscription-service-row:has(.amount) { grid-template-columns:minmax(240px,2fr) minmax(75px,.5fr) minmax(160px,1fr) minmax(115px,.75fr) minmax(115px,.75fr); }
.subscription-service-row.expired { background:linear-gradient(90deg, rgba(203,96,64,.055), transparent 45%); }
.subscription-service-row.future { background:linear-gradient(90deg, rgba(0,120,184,.045), transparent 45%); }
.subscription-service-main { min-width:0; }
.subscription-service-title { display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.subscription-service-title strong { color:#2d464b; }
.subscription-service-meta { display:flex; flex-wrap:wrap; gap:5px 9px; align-items:center; margin-top:4px; color:#718084; font-size:.76rem; }
.subscription-service-cell { display:flex; flex-direction:column; gap:2px; min-width:0; }
.subscription-service-cell > span { color:#7a8a8d; font-size:.67rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.subscription-service-cell > strong { color:#334e53; font-size:.82rem; font-weight:780; }
.subscription-service-cell small { color:#8a6b39; }
.subscription-state { display:inline-flex; align-items:center; border-radius:999px; padding:3px 7px; font-size:.64rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.subscription-state.active { background:#e6f5ec; color:#27714c; }
.subscription-state.expired { background:#fce8e4; color:#a14331; }
.subscription-state.future { background:#e7f1fb; color:#32698e; }

:root[data-theme="dark"] .secretariat-managed-item,
:root[data-theme="dark"] .subscription-contract { background:#27393d; border-color:#40575c; color:#e6eff0; }
:root[data-theme="dark"] .secretariat-managed-item:hover { background:#30464b; border-color:#6a9da6; }
:root[data-theme="dark"] .secretariat-managed-item small,
:root[data-theme="dark"] .subscription-contract-meta,
:root[data-theme="dark"] .subscription-service-meta { color:#afbec1; }
:root[data-theme="dark"] .subscription-contract-head { background:#2d4247; border-color:#40575c; }
:root[data-theme="dark"] .subscription-contract-title h4,
:root[data-theme="dark"] .subscription-contract-summary strong,
:root[data-theme="dark"] .subscription-service-title strong,
:root[data-theme="dark"] .subscription-service-cell > strong { color:#f0f5f6; }
:root[data-theme="dark"] .subscription-service-row { border-color:#3a5055; }
:root[data-theme="dark"] .subscription-contract-warning { background:#4c412b; color:#f4dca9; }

@media (max-width: 900px) {
  .secretariat-managed-list { grid-template-columns:1fr; }
  .subscription-contract-head { flex-direction:column; }
  .subscription-contract-summary { align-items:flex-start; }
  .subscription-service-row,
  .subscription-service-row:has(.amount) { grid-template-columns:1fr 1fr; }
  .subscription-service-main { grid-column:1 / -1; }
}
@media (max-width: 560px) {
  .subscription-service-row,
  .subscription-service-row:has(.amount) { grid-template-columns:1fr; }
  .subscription-service-main { grid-column:auto; }
}
