:root{--blue:#0a89ff;--blue-dark:#006dce;--navy:#193961;--pale:#f0f8ff;--brand-blue-50:var(--pale);--brand-navy:var(--navy);--primary:var(--blue);--primary-dark:var(--blue-dark);--bg:#f5f9fc;--panel:#fff;--ink:#162638;--muted:#687b8e;--line:#dce8f1;--success:#16845b;--warning:#ad6500;--danger:#c13b31;--shadow:0 12px 34px rgba(25,57,97,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dff1ff 0,transparent 35%),linear-gradient(145deg,#f9fcff,#eef7ff)}.login-card{width:min(470px,100%);background:#fff;padding:42px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.login-logo{width:260px;max-width:100%;display:block;margin-bottom:28px}.login-card h1{margin:4px 0 10px;font-size:2rem}.stack-form{display:grid;gap:16px;margin-top:28px}.stack-form label,.dialog-form label{display:grid;gap:7px;font-weight:650;font-size:.9rem}.stack-form input,.dialog-form input,.dialog-form select,.dialog-form textarea,.toolbar input,.toolbar select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.stack-form input:focus,.dialog-form input:focus,.dialog-form select:focus,.dialog-form textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,137,255,.12)}.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column}.brand img{width:220px;max-width:100%}.nav-list{display:grid;gap:6px;margin-top:35px}.nav-item{border:0;background:transparent;border-radius:11px;padding:12px 13px;display:flex;align-items:center;gap:12px;text-align:left;color:#4d6378}.nav-item:hover{background:var(--pale);color:var(--navy)}.nav-item.active{background:#dff1ff;color:var(--blue-dark);font-weight:750}.nav-item span{font-size:1.1rem}.nav-item em{margin-left:auto;font-size:.65rem;font-style:normal;background:#edf2f6;color:var(--muted);padding:2px 6px;border-radius:99px}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.status-pill{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:7px}.status-pill i{width:8px;height:8px;border-radius:50%;background:var(--success)}.main-area{min-width:0}.topbar{height:105px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:5}.topbar h1{margin:4px 0 0;font-size:1.65rem}.topbar-actions{display:flex;align-items:center;gap:10px}.eyebrow{font-size:.69rem;letter-spacing:.13em;font-weight:850;color:var(--blue-dark);margin:0}.eyebrow.light{color:#cdeaff}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}.primary-button,.secondary-button,.ghost-button,.danger-button{border-radius:10px;padding:10px 14px;font-weight:750;border:1px solid transparent}.primary-button{background:var(--blue);color:#fff}.primary-button:hover{background:var(--blue-dark)}.secondary-button{background:#fff;border-color:var(--line);color:var(--navy)}.ghost-button{background:transparent;border-color:var(--line);color:var(--navy)}.danger-button{background:#fff2f1;border-color:#ffd2cf;color:var(--danger)}.small{padding:7px 10px;font-size:.82rem}.screen{display:none;padding:30px 38px 50px}.screen.active{display:block}.hero-card{display:flex;justify-content:space-between;gap:30px;padding:34px;border-radius:20px;background:linear-gradient(125deg,var(--blue),var(--navy));color:#fff;box-shadow:var(--shadow)}.hero-card h2{font-size:2rem;max-width:720px;margin:8px 0 12px}.hero-card p{max-width:780px;color:#e8f4ff}.hero-badge{width:100px;height:100px;border:1px solid rgba(255,255,255,.35);border-radius:24px;display:grid;place-items:center;font-size:2.5rem;font-weight:900;background:rgba(255,255,255,.12)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 5px 18px rgba(25,57,97,.05)}.stat-card span{display:block;color:var(--muted);font-size:.82rem}.stat-card strong{display:block;font-size:2rem;color:var(--navy);margin-top:5px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 6px 20px rgba(25,57,97,.045)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header h3{margin:0}.toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 180px auto;gap:10px;margin-bottom:18px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:.88rem}.data-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table tr[data-id]{cursor:pointer}.data-table tr[data-id]:hover{background:var(--pale)}.badge{display:inline-flex;border-radius:99px;padding:4px 8px;font-size:.7rem;font-weight:800;background:#e8f5ff;color:var(--blue-dark)}.badge.closed{background:#eef1f4;color:#56687a}.badge.archived{background:#fff0ed;color:#a84a3c}.list-item{padding:13px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.list-item:last-child{border-bottom:0}.list-item strong{display:block}.list-item small{color:var(--muted)}.empty-inline{color:var(--muted);padding:20px 0}.empty-state{background:#fff;border:1px dashed #bfd5e8;border-radius:18px;padding:55px;text-align:center}.feature-future span{display:inline-block;background:var(--pale);color:var(--blue-dark);font-weight:900;border-radius:99px;padding:6px 12px}.case-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.case-heading h2{margin:5px 0}.facts{display:grid;grid-template-columns:160px 1fr;gap:11px;margin:0}.facts dt{font-weight:750;color:var(--muted)}.facts dd{margin:0}.document-link{color:var(--blue-dark);text-decoration:none;font-weight:750}.document-link:hover{text-decoration:underline}.task-check{display:flex;gap:10px;align-items:flex-start}.task-check input{margin-top:4px}.toast{position:fixed;right:30px;top:120px;z-index:20;background:var(--navy);color:#fff;padding:13px 17px;border-radius:10px;box-shadow:var(--shadow)}.toast.error{background:var(--danger)}dialog{border:0;border-radius:18px;padding:0;width:min(720px,calc(100% - 30px));box-shadow:0 24px 80px rgba(16,37,60,.25)}dialog::backdrop{background:rgba(19,39,58,.48);backdrop-filter:blur(3px)}.dialog-form{padding:26px;display:grid;gap:17px}.dialog-header{display:flex;justify-content:space-between;align-items:center}.dialog-header h2{margin:0}.icon-button{border:0;background:transparent;font-size:1.8rem;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.span-2{grid-column:1/-1}.checkbox-label{display:flex!important;align-items:center;gap:9px!important}.checkbox-label input{width:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.form-error{color:var(--danger);font-weight:700;margin:0}.muted{color:var(--muted)}@media(max-width:1050px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.brand img{content:url('assets/icon-axiorhub.png');width:48px}.nav-item{justify-content:center}.nav-item:not(.active){color:var(--muted)}.nav-item{font-size:0}.nav-item span{font-size:1.25rem}.nav-item em,.sidebar-footer .status-pill{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;bottom:0;top:auto;height:auto;width:100%;z-index:10;padding:8px}.brand,.sidebar-footer{display:none}.nav-list{margin:0;grid-template-columns:repeat(4,1fr)}.nav-item:nth-child(n+5){display:none}.topbar{height:auto;padding:16px;align-items:flex-start}.topbar-actions .secondary-button{display:none}.screen{padding:20px 14px 90px}.content-grid,.stats-grid,.form-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.hero-card{padding:25px}.hero-card h2{font-size:1.45rem}.hero-badge{display:none}.span-2{grid-column:auto}}

/* GED et Nextcloud */
.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tiny{padding:5px 8px;font-size:.72rem}.muted-status i{background:#9aabba}.error-status{color:var(--danger)}.error-status i{background:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}.nextcloud-panel{margin-top:20px}.integration-state{min-height:84px}.integration-empty{padding:10px 0;color:var(--muted)}.integration-empty strong{display:block;color:var(--ink);margin-bottom:5px}.integration-details{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:14px}.integration-details>div{background:var(--pale);border:1px solid #d5eafa;border-radius:12px;padding:14px}.integration-details span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}.integration-details strong{font-size:.87rem;word-break:break-word}.integration-error{grid-column:1/-1;color:var(--danger);background:#fff2f1!important;border:1px solid #ffd2cf!important;border-radius:10px;padding:12px}.document-toolbar{grid-template-columns:minmax(280px,1fr) 170px auto auto}.document-workspace{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.55fr);gap:20px;align-items:start}.document-list-panel{padding:18px;position:sticky;top:128px;max-height:calc(100vh - 160px);overflow:auto}.document-detail-panel{min-height:680px}.document-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 7px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;color:var(--ink)}.document-item:hover{background:var(--pale)}.document-item.selected{background:#e6f4ff;box-shadow:inset 3px 0 0 var(--blue)}.document-icon{width:40px;height:40px;border-radius:10px;background:#e7f4ff;color:var(--blue-dark);display:grid;place-items:center;font-size:.68rem;font-weight:900}.document-item-main{min-width:0}.document-item-main strong,.document-item-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-item-main small{color:var(--muted);margin-top:4px;font-size:.72rem}.document-item-states{display:grid;gap:4px;justify-items:end}.state-badge{display:inline-flex;border-radius:99px;padding:3px 7px;font-size:.62rem;font-weight:800;background:#edf2f6;color:#5c6e80;white-space:nowrap}.state-badge.ready{background:#e6f7ef;color:var(--success)}.state-badge.processing,.state-badge.queued{background:#e8f5ff;color:var(--blue-dark)}.state-badge.partial{background:#fff4de;color:var(--warning)}.state-badge.error,.state-badge.not_supported,.state-badge.sync-missing{background:#fff0ed;color:var(--danger)}.state-badge.sync-synced{background:#e6f7ef;color:var(--success)}.state-badge.sync-local{background:#eef3f7;color:#52687d}.mini-warning{font-size:.61rem;color:var(--warning);font-weight:800}.document-detail-header{align-items:flex-start}.warning-box{background:#fff6e6;border:1px solid #f5d69a;color:#83510b;border-radius:10px;padding:10px 12px;margin:8px 0;font-size:.82rem}.document-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:18px 0}.document-tab{border:0;background:transparent;padding:10px 12px;color:var(--muted);font-weight:750;border-bottom:2px solid transparent}.document-tab.active{color:var(--blue-dark);border-bottom-color:var(--blue)}.document-tab-content{display:none}.document-tab-content.active{display:block}.document-frame{width:100%;height:680px;border:1px solid var(--line);border-radius:12px;background:#f2f4f6}.document-image{display:block;max-width:100%;max-height:760px;margin:auto;border:1px solid var(--line);border-radius:10px}.extracted-text{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.79rem;line-height:1.62;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:16px;max-height:620px;overflow:auto}.preview-text{max-height:720px}.page-text{margin-bottom:16px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:var(--muted);font-size:.75rem}.page-heading strong{color:var(--navy)}.entity-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px}.entity-card.validated{border-color:#b9e5d1;background:#f5fcf8}.entity-card.rejected{opacity:.58}.entity-card strong,.entity-card small{display:block}.entity-card small{color:var(--muted);margin-top:4px}.entity-card p{font-size:.78rem;color:#53687c;margin:8px 0 0}.entity-type{display:inline-block;text-transform:uppercase;letter-spacing:.07em;font-size:.63rem;color:var(--blue-dark);font-weight:850;margin-bottom:4px}.entity-actions{display:flex;gap:5px;align-self:start}.version-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.version-row small{display:block;color:var(--muted);margin-top:4px}.search-result{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:13px 8px;color:var(--ink)}.search-result:hover{background:var(--pale)}.search-result small{display:block;color:var(--muted);margin:4px 0}.search-result p{font-size:.78rem;line-height:1.45;margin:6px 0}.search-result mark{background:#fff1a8;border-radius:2px;padding:0 2px}.empty-state.compact{padding:35px 22px}.wide-dialog{width:min(900px,calc(100% - 30px))}.nextcloud-browser-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.nextcloud-browser-toolbar input{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.nextcloud-browser{min-height:300px;max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:7px}.nextcloud-entry{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink)}button.nextcloud-entry:hover{background:var(--pale)}.nextcloud-entry:last-child{border-bottom:0}.nextcloud-entry span{color:var(--blue-dark);font-size:1.1rem}.nextcloud-entry small{display:block;color:var(--muted)}code{background:#eef3f7;padding:2px 5px;border-radius:5px;font-size:.82em}

@media(max-width:1180px){.document-workspace{grid-template-columns:1fr}.document-list-panel{position:static;max-height:none}.integration-details{grid-template-columns:1fr 1fr}.document-frame{height:560px}}
@media(max-width:760px){.document-toolbar{grid-template-columns:1fr}.document-workspace{grid-template-columns:1fr}.document-item{grid-template-columns:40px minmax(0,1fr)}.document-item-states{grid-column:2;display:flex;justify-items:start;justify-content:flex-start;flex-wrap:wrap}.document-detail-header{display:block}.document-detail-header .button-row{margin-top:12px}.integration-details{grid-template-columns:1fr}.nextcloud-browser-toolbar{grid-template-columns:1fr}.document-frame{height:460px}.entity-card{grid-template-columns:1fr}.topbar-actions .primary-button{display:none}}

/* Paramètres Nextcloud personnels */
.settings-disclosure{margin:20px 0;padding:0;overflow:hidden}.settings-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 22px;background:#fff}.settings-disclosure>summary::-webkit-details-marker{display:none}.settings-disclosure>summary::after{content:'⌄';font-size:1.25rem;color:var(--blue-dark);transition:transform .2s ease}.settings-disclosure[open]>summary::after{transform:rotate(180deg)}.settings-disclosure>summary span:first-child{display:grid;gap:4px}.settings-disclosure>summary small{font-weight:500;color:var(--muted)}.settings-disclosure[open]>summary{border-bottom:1px solid var(--line);background:var(--pale)}.settings-form{display:grid;gap:18px;padding:22px}.settings-intro{background:#f5faff;border:1px solid #d9ecfb;border-radius:12px;padding:13px 15px}.settings-intro p{margin:0 0 5px}.settings-intro p:last-child{margin-bottom:0}.settings-checks{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.compact-state{min-height:0}.settings-status-grid{grid-template-columns:1fr 1fr 1.5fr}.settings-status-grid small{display:block;color:var(--muted);margin-top:5px}.settings-actions{align-items:center}.actions-spacer{flex:1}.settings-form input[type="url"],.settings-form input[type="number"],.settings-form input[type="password"]{width:100%}.settings-disclosure:target{scroll-margin-top:120px}
@media(max-width:760px){.settings-disclosure>summary{align-items:flex-start}.settings-form{padding:16px}.settings-checks{display:grid;gap:12px}.settings-actions{display:grid;grid-template-columns:1fr}.settings-actions .actions-spacer{display:none}.settings-status-grid{grid-template-columns:1fr}}
.success-box{color:var(--success);background:#effaf5;border:1px solid #bfe8d4;border-radius:10px;padding:12px}.success-box p,.integration-error p{margin:5px 0 0;color:inherit}

/* IA générale et styles Outlook */
.outlook-toolbar{grid-template-columns:minmax(250px,1fr) 190px auto auto auto}.outlook-workspace{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.45fr);gap:20px;align-items:start}.outlook-list-panel{padding:16px;position:sticky;top:128px;max-height:calc(100vh - 160px);overflow:auto}.outlook-detail-panel{min-height:660px}.mail-list-item{position:relative;width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto 18px;gap:10px;align-items:start;border:0;border-bottom:1px solid var(--line);background:#fff;padding:14px 8px;text-align:left;color:var(--ink)}.mail-list-item:hover{background:var(--pale)}.mail-list-item.active{background:#e6f4ff;box-shadow:inset 3px 0 0 var(--blue)}.mail-list-item>span:nth-child(2){min-width:0}.mail-list-item strong,.mail-list-item small,.mail-list-item em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-list-item small{color:#50677d;margin-top:4px}.mail-list-item em{font-style:normal;color:var(--muted);font-size:.74rem;margin-top:6px}.mail-list-item time{color:var(--muted);font-size:.67rem;white-space:nowrap}.mail-list-item b{color:var(--blue-dark);font-size:.8rem}.mail-direction{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e8f5ff;color:var(--blue-dark);font-weight:850}.mail-body{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px;min-height:220px;max-height:640px;overflow:auto;line-height:1.55;word-break:break-word}.mail-body img{max-width:100%;height:auto}.mail-body table{max-width:100%}.mail-body a{color:var(--blue-dark)}.mail-actions{display:grid;grid-template-columns:minmax(210px,1fr) auto auto auto auto;gap:10px;align-items:end;padding:16px 0;margin:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mail-actions>label:first-child{display:grid;gap:6px;font-size:.78rem;font-weight:750}.mail-actions select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.attachment-row:last-child{border-bottom:0}.attachment-row strong,.attachment-row small{display:block}.attachment-row small{color:var(--muted);margin-top:3px}.outlook-case-panel{margin-top:20px}.compact-check{align-self:center}.outlook-detail-panel .empty-state{box-shadow:none;border:0;min-height:420px}.outlook-settings-note{font-size:.77rem;color:var(--muted)}
@media(max-width:1180px){.outlook-workspace{grid-template-columns:1fr}.outlook-list-panel{position:static;max-height:520px}.mail-actions{grid-template-columns:1fr 1fr 1fr}.mail-actions>label:first-child{grid-column:1/-1}}
@media(max-width:760px){.outlook-toolbar{grid-template-columns:1fr}.outlook-workspace{grid-template-columns:1fr}.outlook-list-panel{max-height:none}.mail-list-item{grid-template-columns:28px minmax(0,1fr)}.mail-list-item time,.mail-list-item>b{grid-column:2}.mail-actions{grid-template-columns:1fr}.mail-actions>label:first-child{grid-column:auto}.attachment-row{align-items:flex-start}.outlook-detail-panel{padding:15px}.mail-body{padding:14px}}
/* Grille d’indicateurs responsive */
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}

/* Assistant IA */
.assistant-layout {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(260px, .7fr) minmax(420px, 1.3fr);
  gap: 1rem;
  align-items: start;
}
.assistant-composer, .assistant-history, .assistant-result { min-height: 70vh; }
.source-selector {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--brand-blue-50);
  padding: .75rem;
}
.source-selector summary { cursor: pointer; font-weight: 700; color: var(--brand-navy); }
.source-checklist { display: grid; gap: .5rem; margin-top: .75rem; max-height: 230px; overflow: auto; }
.source-check {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  padding: .65rem;
  border-radius: 10px;
  background: var(--panel);
  border: 1px solid var(--line);
}
.source-check input { margin-top: .2rem; }
.source-check span { display: grid; gap: .15rem; }
.source-check small { color: var(--muted); }
.ai-job-item {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: .8rem .15rem;
  display: flex;
  justify-content: space-between;
  gap: .7rem;
  text-align: left;
  cursor: pointer;
}
.ai-job-item:hover, .ai-job-item.selected { background: var(--brand-blue-50); }
.ai-job-item span:first-child { display: grid; gap: .2rem; }
.ai-job-item small { color: var(--muted); }
.ai-result-text {
  white-space: pre-wrap;
  word-break: break-word;
  font: inherit;
  line-height: 1.65;
  min-height: 280px;
  max-height: 55vh;
  overflow: auto;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdff;
}
.ai-metrics { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: .8rem; }
.ai-metrics span { padding: .45rem .65rem; border-radius: 999px; background: var(--brand-blue-50); color: var(--muted); }
.ai-metrics strong { color: var(--brand-navy); }
.ai-source-list { display: grid; gap: .65rem; max-height: 360px; overflow: auto; }
.ai-source-card { border: 1px solid var(--line); border-radius: 10px; padding: .75rem; background: var(--panel); }
.ai-source-card { display: grid; gap: .25rem; }
.ai-source-card small { color: var(--muted); }
.ai-source-card p { margin: .3rem 0 0; color: var(--ink); font-size: .9rem; }
.model-list { margin-top: .75rem; padding: .8rem; border-top: 1px solid var(--line); }
.model-list p { margin: .4rem 0 0; word-break: break-word; }
.state-badge.running, .state-badge.queued { background: #fff3d8; color: #8a5600; }
.state-badge.done { background: #dff7ec; color: #176a4b; }
.state-badge.failed, .state-badge.cancelled { background: #fde7e5; color: #9d2e27; }
@media (max-width: 1280px) {
  .assistant-layout { grid-template-columns: 1fr 1fr; }
  .assistant-result { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .assistant-layout { grid-template-columns: 1fr; }
  .assistant-result { grid-column: auto; }
}

/* Chronologie sourcée */
.timeline-case-panel{margin-top:20px}.timeline-toolbar{grid-template-columns:minmax(240px,1.1fr) minmax(220px,1fr) 165px 165px auto auto}.timeline-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:14px 18px}.timeline-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:20px;align-items:start}.timeline-side{display:grid;gap:20px;position:sticky;top:128px}.timeline-main-panel{min-height:640px}.timeline-list{display:grid;gap:14px}.timeline-event{display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(25,57,97,.04)}.timeline-event.proposed{border-left:4px solid var(--warning)}.timeline-event.validated{border-left:4px solid var(--success)}.timeline-event.corrected{border-left:4px solid var(--blue)}.timeline-event.rejected{border-left:4px solid var(--danger);opacity:.72}.timeline-date{padding:18px 14px;background:var(--pale);display:grid;align-content:start;gap:5px}.timeline-date strong{color:var(--navy);line-height:1.3}.timeline-date small{color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.05em}.timeline-event-body{padding:17px 18px;min-width:0}.timeline-event-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.timeline-event-heading h4{margin:0 0 8px;font-size:1.02rem;color:var(--navy)}.timeline-select input{margin-top:4px}.timeline-event-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.timeline-badges{display:flex;gap:6px;flex-wrap:wrap}.timeline-description{line-height:1.55;margin:14px 0}.timeline-actors{font-size:.86rem;color:var(--muted)}.timeline-lock{font-size:.78rem}.timeline-sources{border-top:1px solid var(--line);padding-top:10px;margin-top:14px}.timeline-sources summary{cursor:pointer;color:var(--blue-dark);font-weight:750;font-size:.84rem}.timeline-sources>div{display:grid;gap:8px;margin-top:10px}.timeline-source{width:100%;border:1px solid var(--line);border-radius:10px;background:#f9fcff;padding:10px;text-align:left;color:var(--ink)}button.timeline-source:hover{border-color:var(--blue);background:var(--pale)}.timeline-source strong,.timeline-source small{display:block}.timeline-source small{color:var(--muted);margin-top:3px}.timeline-source p{margin:7px 0 0;font-size:.82rem;line-height:1.45;color:#42586d}.timeline-conflict{border:1px solid var(--line);border-left:4px solid var(--warning);border-radius:11px;padding:12px;margin-bottom:10px;background:#fff}.timeline-conflict.high{border-left-color:var(--danger)}.timeline-conflict.low{border-left-color:#8aa4b8}.timeline-conflict.resolved,.timeline-conflict.dismissed{opacity:.62}.timeline-conflict p{margin:8px 0;line-height:1.45}.timeline-conflict small{display:block;color:var(--muted);margin-bottom:8px}.timeline-run{border-bottom:1px solid var(--line);padding:12px 0}.timeline-run:last-child{border-bottom:0}.timeline-run>div{display:flex;justify-content:space-between;gap:8px}.timeline-run small{display:block;color:var(--muted);margin-top:4px}.timeline-run p{margin:7px 0;font-size:.83rem;line-height:1.4}.state-badge.proposed{background:#fff3d8;color:#8a5600}.state-badge.validated{background:#dff7ec;color:#176a4b}.state-badge.corrected{background:#e2f2ff;color:#006dce}.state-badge.rejected{background:#fde7e5;color:#9d2e27}.state-badge.assertion-established{background:#e2f7ed;color:#176a4b}.state-badge.assertion-alleged{background:#fff3d8;color:#8a5600}.state-badge.assertion-disputed{background:#fde7e5;color:#9d2e27}.state-badge.assertion-unknown{background:#edf2f6;color:#516579}.state-badge.severity-high{background:#fde7e5;color:#9d2e27}.state-badge.severity-medium{background:#fff3d8;color:#8a5600}.state-badge.severity-low{background:#edf2f6;color:#516579}.timeline-stats{margin-top:0}
@media(max-width:1250px){.timeline-toolbar{grid-template-columns:1fr 1fr 1fr}.timeline-layout{grid-template-columns:1fr}.timeline-side{position:static;grid-template-columns:1fr 1fr}.timeline-event-heading{grid-template-columns:auto minmax(0,1fr)}.timeline-event-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:820px){.timeline-toolbar{grid-template-columns:1fr}.timeline-actions{display:grid}.timeline-layout,.timeline-side{grid-template-columns:1fr}.timeline-event{grid-template-columns:1fr}.timeline-date{padding:12px 15px}.timeline-event-heading{grid-template-columns:auto minmax(0,1fr)}.timeline-event-actions{grid-column:1/-1}.timeline-event-body{padding:14px}.nav-list{grid-template-columns:repeat(7,minmax(68px,1fr));overflow-x:auto}.nav-item:nth-child(n){display:flex}}

/* Recherche juridique et connecteurs MCP */
.connector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:14px}.connector-card{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.connector-card.disabled{opacity:.62}.connector-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.connector-card-head>div{display:grid;gap:3px}.connector-card-head small,.connector-card p,.connector-tools{color:var(--muted)}.connector-card p{margin:0;line-height:1.45}.connector-card dl{display:grid;gap:6px;margin:0}.connector-card dl div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px;font-size:.82rem}.connector-card dt{color:var(--muted)}.connector-card dd{margin:0;word-break:break-word}.connector-tools{font-size:.75rem;line-height:1.45}.legal-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(270px,.7fr) minmax(460px,1.35fr);gap:1rem;align-items:start}.legal-composer,.legal-history,.legal-result{min-height:72vh}.legal-plan{margin-bottom:14px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--brand-blue-50)}.legal-plan summary{cursor:pointer;font-weight:750;color:var(--brand-navy)}.compact-code{min-height:120px;max-height:260px;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.connector-call-list{display:grid;gap:7px;max-height:300px;overflow:auto}.connector-call{display:grid;grid-template-columns:minmax(130px,.5fr) minmax(0,1fr);gap:4px 10px;padding:9px 11px;border:1px solid var(--line);border-left:4px solid var(--success);border-radius:9px;background:#fff}.connector-call.failed{border-left-color:var(--danger)}.connector-call small{grid-column:1/-1;color:var(--muted)}.ai-source-card a{color:var(--primary-dark);font-weight:700;font-size:.82rem}.disabled{pointer-events:none;opacity:.55}
@media(max-width:1320px){.legal-layout{grid-template-columns:1fr 1fr}.legal-result{grid-column:1/-1}}@media(max-width:850px){.legal-layout{grid-template-columns:1fr}.legal-result{grid-column:auto}.connector-grid{grid-template-columns:1fr}}

/* Rédaction avancée section par section */
.drafting-toolbar{grid-template-columns:minmax(240px,1fr) auto auto}.drafting-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(360px,.95fr) minmax(460px,1.35fr);gap:18px;align-items:start}.drafting-projects-panel,.drafting-outline-panel,.drafting-editor-panel{min-height:72vh}.drafting-project-item,.drafting-section-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 8px;display:flex;justify-content:space-between;gap:10px;text-align:left}.drafting-project-item:hover,.drafting-project-item.selected,.drafting-section-item:hover,.drafting-section-item.selected{background:var(--pale)}.drafting-project-item span:first-child,.drafting-section-item span:first-child{display:grid;gap:3px}.drafting-project-item small,.drafting-section-item small{color:var(--muted)}.drafting-sections-list{display:grid;gap:5px;margin:16px 0}.drafting-section-item.level-2{padding-left:26px}.drafting-section-item.level-3{padding-left:44px}.drafting-section-item.level-4{padding-left:62px}.drafting-action-grid{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}.drafting-editor-panel textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;line-height:1.55;resize:vertical}.drafting-editor-panel label{display:grid;gap:7px;font-weight:700;font-size:.86rem;margin-bottom:12px}.drafting-export-row{margin:14px 0}.drafting-version,.drafting-comment{border-bottom:1px solid var(--line);padding:10px 0}.drafting-version:last-child,.drafting-comment:last-child{border-bottom:0}.drafting-version small,.drafting-comment small{display:block;color:var(--muted);margin-top:3px}.drafting-comment.resolved{opacity:.6}.inline-form{display:flex;gap:8px;margin-top:12px}.inline-form input{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px 10px}.state-badge.brief,.state-badge.outline{background:#edf2f6;color:#516579}.state-badge.drafting,.state-badge.proposed{background:#fff3d8;color:#8a5600}.state-badge.review,.state-badge.reviewed{background:#e2f2ff;color:#006dce}.state-badge.approved,.state-badge.exported{background:#dff7ec;color:#176a4b}.state-badge.planned{background:#edf2f6;color:#516579}.state-badge.generating,.state-badge.queued{background:#fff3d8;color:#8a5600}.state-badge.rejected{background:#fde7e5;color:#9d2e27}.drafting-source-link{border:1px solid var(--line);border-radius:9px;padding:9px;background:#fbfdff}.drafting-source-link strong,.drafting-source-link small{display:block}.drafting-source-link small{color:var(--muted)}
@media(max-width:1420px){.drafting-layout{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)}.drafting-editor-panel{grid-column:1/-1}}
@media(max-width:900px){.drafting-layout{grid-template-columns:1fr}.drafting-editor-panel{grid-column:auto}.drafting-toolbar{grid-template-columns:1fr}.inline-form{display:grid}}

/* LexDélai, échéances et workflows */
.workflow-toolbar{grid-template-columns:minmax(260px,1fr) repeat(5,auto)}
.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}
.deadline-card,.proposal-card,.workflow-run-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:15px;margin-bottom:12px;box-shadow:0 3px 12px rgba(25,57,97,.035)}
.deadline-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-left:4px solid var(--brand-blue)}
.deadline-card.overdue{border-left-color:var(--danger);background:#fffafa}
.deadline-card h4,.proposal-card h4,.workflow-run-card h4{margin:.15rem 0 .45rem;color:var(--brand-navy)}
.deadline-card p,.proposal-card p{margin:.25rem 0;line-height:1.45}
.deadline-card small,.proposal-card small,.workflow-step small{display:block;color:var(--muted)}
.proposal-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;border-left:4px solid var(--warning)}
.proposal-card.validated{border-left-color:var(--success)}.proposal-card.rejected{border-left-color:var(--danger);opacity:.72}.proposal-card.converted{border-left-color:var(--brand-blue);opacity:.76}
.source-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.source-chips span{background:var(--brand-blue-50);color:var(--brand-navy);border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:.72rem;font-weight:700}
.mini-warning{margin-top:8px;border-left:3px solid var(--warning);background:#fff8e8;padding:7px 9px;border-radius:7px;font-size:.8rem;color:#755000}
.workflow-steps{display:grid;gap:9px;margin-top:12px}.workflow-step{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-left:4px solid #9cafc0;border-radius:10px;padding:10px 12px;background:#fbfdff}.workflow-step.ready{border-left-color:var(--brand-blue)}.workflow-step.running{border-left-color:var(--warning)}.workflow-step.completed{border-left-color:var(--success);opacity:.78}.workflow-step.dismissed{border-left-color:var(--muted);opacity:.58}.workflow-step.blocked{border-left-color:var(--danger)}.workflow-step p{margin:.35rem 0 0;font-size:.82rem;color:var(--muted)}
.validation-counts{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:8px;margin-bottom:12px}.validation-counts>div{border:1px solid var(--line);border-radius:10px;background:var(--brand-blue-50);padding:9px;text-align:center}.validation-counts strong{display:block;font-size:1.25rem;color:var(--brand-navy)}.validation-counts span{font-size:.72rem;color:var(--muted)}.validation-list{display:grid;gap:7px}.validation-list .list-item{width:100%;text-align:left}
.state-badge.active,.state-badge.ready{background:#e2f2ff;color:#006dce}.state-badge.completed{background:#dff7ec;color:#176a4b}.state-badge.dismissed,.state-badge.cancelled{background:#edf2f6;color:#516579}.state-badge.blocked{background:#fde7e5;color:#9d2e27}
@media(max-width:1280px){.workflow-toolbar{grid-template-columns:1fr 1fr 1fr}.workflow-grid{grid-template-columns:1fr}}
@media(max-width:760px){.workflow-toolbar{grid-template-columns:1fr}.deadline-card,.proposal-card,.workflow-step{display:grid;grid-template-columns:1fr}.validation-counts{grid-template-columns:repeat(2,1fr)}}

/* Roundcube intégré */
.webmail-frame-panel { padding: 0; overflow: hidden; min-height: calc(100vh - 185px); }
.webmail-frame-panel iframe { width: 100%; min-height: calc(100vh - 190px); border: 0; display: block; background: #fff; }

/* Honorium et facturation */
.billing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr);
  gap: 1rem;
  margin: 1rem 0;
}
.billing-toolbar { align-items: center; }
.billing-toolbar select { min-width: 260px; }
.billing-main-panel, .billing-invoices-panel { min-height: 360px; }
.billing-invoices-panel .mail-card { gap: .75rem; align-items: flex-start; }
.billing-invoices-panel .button-row { flex-wrap: wrap; justify-content: flex-end; }
#billingRunningTimer { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
#billingRunningTimer small { flex: 1; }
#billingEntriesTable table td:nth-child(4) { min-width: 260px; }
#billingProfitability table td:first-child { min-width: 280px; }
@media (max-width: 1150px) {
  .billing-layout { grid-template-columns: 1fr; }
  .billing-toolbar { align-items: stretch; }
}

/* Multi-cabinets et sécurité renforcée */
.security-grid { align-items: start; }
.code-list { margin-top: 1rem; padding: 1rem; border: 1px dashed var(--line); border-radius: 12px; background: var(--brand-blue-50); overflow-wrap: anywhere; }
.code-list code { display: block; margin: .25rem 0; }
.compact-list .list-item { padding: .7rem 0; }
.login-card code, #mfaSecret { display: block; padding: .75rem; margin: .5rem 0; border-radius: 8px; background: var(--brand-blue-50); font-weight: 700; overflow-wrap: anywhere; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); gap: .75rem; margin-bottom: 1rem; }
.metric-grid > div { padding: .85rem; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.metric-grid strong, .metric-grid span { display:block; }
.metric-grid strong { color: var(--brand-navy); font-size: 1.2rem; }

/* Sécurité opérationnelle */
.posture-score { display:flex; align-items:baseline; gap:.45rem; margin:.4rem 0 1rem; }
.posture-score strong { font-size:2.35rem; color:var(--brand-navy); }
.posture-score span { color:var(--muted); font-weight:700; }
.posture-check { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr) auto; gap:.75rem; align-items:center; padding:.7rem 0; border-bottom:1px solid var(--line); }
.posture-check:last-child { border-bottom:0; }
.state-badge.ok { background:#dff7ec; color:#176a4b; }
.state-badge.warning { background:#fff3d8; color:#8a5600; }
.state-badge.critical { background:#fde7e5; color:#9d2e27; }
.security-alert { border-left:4px solid var(--danger); background:#fff7f6; padding:1rem; border-radius:10px; }
#lockdownReason { min-height:90px; }
@media(max-width:760px){.posture-check{grid-template-columns:1fr}.posture-check .state-badge{justify-self:start}}


/* écosystème et PWA */
.catalog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.75rem; max-height:720px; overflow:auto; }
.catalog-card { border:1px solid var(--border, #d9dee7); border-radius:12px; padding:.85rem; background:#fff; display:grid; gap:.35rem; }
.catalog-card strong { font-size:.95rem; }
.catalog-card small,.catalog-card span { color:var(--muted, #667085); font-size:.75rem; }
.catalog-card p { margin:.2rem 0; font-size:.82rem; line-height:1.35; }
.ecosystem-run { border:1px solid var(--border, #d9dee7); border-radius:12px; padding:.9rem; margin-bottom:.8rem; background:#fff; }
.ecosystem-run > header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.65rem; }
.ecosystem-run > header div { display:grid; gap:.2rem; }
.ecosystem-run .list-item { align-items:center; }
@media (max-width: 760px) { .ecosystem-run > header { flex-direction:column; } .catalog-grid { grid-template-columns:1fr; } }

.ecosystem-case-binding { display: inline-flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.ecosystem-case-binding select { min-width: 13rem; max-width: 22rem; }

/* Cockpit et pilotage */
.pilot-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr); gap: 1.25rem; margin: 1.25rem 0; }
.pilot-tools-grid { margin-top: 1.25rem; align-items: start; }
.pilot-main-panel { min-height: 32rem; }
.pilot-item { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: 1rem; border: 1px solid var(--border, #dfe4ea); border-left-width: 5px; border-radius: 12px; background: #fff; }
.pilot-item.severity-critical, .pilot-item.severity-high, .pilot-item.severity-blocking { border-left-color: #a61b29; }
.pilot-item.severity-warning, .pilot-item.severity-major { border-left-color: #a56400; }
.pilot-item.severity-normal { border-left-color: #326a87; }
.pilot-item-body { display: grid; gap: .28rem; min-width: 0; }
.pilot-item-body strong { line-height: 1.25; }
.pilot-item-body small { color: var(--muted, #667085); }
.pilot-category { width: fit-content; font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 750; color: #42526b; }
.score-ring { display: grid; place-items: center; width: 4.1rem; height: 4.1rem; border-radius: 50%; background: #14213d; color: white; font-size: 1.45rem; font-weight: 800; }
.result-card { padding: 1rem; border-radius: 12px; background: #f6f8fb; border: 1px solid #dfe4ea; }
.compact-stats .stat-card { min-height: 6.5rem; }
.intake-risk-critical, .intake-risk-high { border-left: 4px solid #a61b29; }
.intake-risk-medium { border-left: 4px solid #a56400; }
.intake-risk-low { border-left: 4px solid #2f7d5a; }
@media (max-width: 1100px) { .pilot-layout { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .pilot-item { align-items: flex-start; flex-direction: column; } .pilot-item .button-row { width: 100%; flex-wrap: wrap; } }

/* interface responsive complète */
html { overflow-x: hidden; text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, svg, video, canvas, iframe { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }
textarea { resize: vertical; }
[hidden] { display: none !important; }
.main-area, .screen, .panel, .topbar-leading, .topbar-title, .topbar-actions, .topbar-tools { min-width: 0; }
.sidebar { overflow-y: auto; overscroll-behavior: contain; }
.sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.mobile-nav-close, .mobile-nav-toggle, .topbar-tools-toggle, .mobile-nav-scrim { display: none; }
.topbar { min-height: 96px; height: auto; gap: 1rem; }
.topbar-leading { display: flex; align-items: center; gap: .75rem; flex: 1 1 auto; }
.topbar-title { min-width: 0; }
.topbar-title h1, .panel h2, .panel h3, .hero-card h2 { overflow-wrap: anywhere; }
.topbar-actions { position: relative; flex: 0 1 auto; justify-content: flex-end; min-width: 0; }
.topbar-tools { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.topbar-new-case { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; white-space: nowrap; }
.screen { width: 100%; }
.two-column-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.screen-heading, .page-heading, .panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.screen-heading h2, .page-heading h2, .panel-heading h3 { margin-top: .2rem; }
.screen-heading p, .page-heading p, .panel-heading p { margin-bottom: 0; }
.list-stack { display: grid; gap: .75rem; }
.table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
.data-table { min-width: 680px; }
.data-table th, .data-table td { vertical-align: top; }
.panel, .hero-card, .stat-card, .result-card, .pilot-item, .list-item { overflow-wrap: anywhere; }
.dialog-form { max-height: calc(100dvh - 2rem); overflow-y: auto; overscroll-behavior: contain; }
.wide-dialog { max-width: min(900px, calc(100vw - 2rem)); }
.webmail-frame-panel iframe { min-width: 0; }
.button-row > button, .inline-actions > button, .toolbar-actions > button { min-height: 40px; }
.nav-item, .primary-button, .secondary-button, .ghost-button, .danger-button, .icon-button { touch-action: manipulation; }

@media (max-width: 1500px) {
  .topbar-tools-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; }
  .topbar-tools {
    display: none;
    position: absolute;
    z-index: 30;
    top: calc(100% + .75rem);
    right: 0;
    width: min(390px, calc(100vw - 2rem));
    max-height: min(70dvh, 560px);
    overflow-y: auto;
    padding: .85rem;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(16,37,60,.22);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .topbar-tools.is-open { display: grid; }
  .topbar-tools > button { width: 100%; min-height: 44px; text-align: left; }
}

@media (max-width: 1100px) {
  .two-column-grid, .content-grid, .pilot-layout, .billing-layout { grid-template-columns: 1fr; }
  .screen { padding-inline: clamp(18px, 3vw, 30px); }
  .hero-card { padding: clamp(24px, 4vw, 32px); }
  .panel { padding: clamp(18px, 2.5vw, 22px); }
}

@media (max-width: 900px) {
  .app-shell { display: block; min-height: 100dvh; }
  .sidebar {
    display: flex;
    position: fixed;
    z-index: 80;
    inset: 0 auto 0 0;
    width: min(88vw, 340px);
    height: 100dvh;
    padding: 18px 14px;
    border-right: 1px solid var(--line);
    box-shadow: 18px 0 60px rgba(16,37,60,.24);
    transform: translateX(-105%);
    transition: transform .22s ease;
    background: #fff;
  }
  .sidebar.is-open { transform: translateX(0); }
  .sidebar .brand { display: block; }
  .sidebar .brand img { content: normal; width: 210px; max-width: calc(100% - 3rem); }
  .sidebar .sidebar-footer { display: grid; }
  .sidebar .nav-list { display: grid; grid-template-columns: 1fr; gap: 5px; margin-top: 20px; overflow: visible; }
  .sidebar .nav-item, .sidebar .nav-item:nth-child(n) {
    display: flex;
    width: 100%;
    min-height: 46px;
    justify-content: flex-start;
    padding: 10px 12px;
    font-size: .9rem;
  }
  .sidebar .nav-item span { flex: 0 0 1.4rem; text-align: center; font-size: 1.05rem; }
  .sidebar .nav-item em { display: inline-flex; }
  .sidebar .status-pill { display: flex; }
  .mobile-nav-close, .mobile-nav-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  .mobile-nav-close { font-size: 1.7rem; }
  .mobile-nav-scrim {
    display: block;
    position: fixed;
    z-index: 70;
    inset: 0;
    border: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: rgba(12, 28, 44, .52);
    backdrop-filter: blur(2px);
    transition: opacity .2s ease, visibility .2s ease;
  }
  .mobile-nav-scrim.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
  body.mobile-nav-open { overflow: hidden; }
  .topbar {
    min-height: 74px;
    padding: 10px 16px;
    align-items: center;
    gap: .5rem;
  }
  .topbar-leading { gap: .55rem; }
  .topbar h1 { font-size: clamp(1.05rem, 4vw, 1.35rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar .eyebrow { max-width: 45vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar-actions { gap: .35rem; }
  .avatar { width: 38px; height: 38px; font-size: .82rem; flex: 0 0 auto; }
  .topbar-new-case, .topbar-tools-toggle { min-width: 42px; min-height: 42px; padding: 8px 10px; }
  .topbar-tools { right: 0; width: min(360px, calc(100vw - 1rem)); grid-template-columns: 1fr; }
  .screen { padding: 18px 14px 36px; }
  .hero-card { display: block; padding: 22px 20px; border-radius: 16px; }
  .hero-card h2 { font-size: clamp(1.3rem, 6vw, 1.65rem); }
  .hero-card p { line-height: 1.55; }
  .hero-badge { display: none; }
  .stats-grid, .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .stat-card { padding: 15px; min-width: 0; }
  .stat-card strong { font-size: 1.55rem; }
  .screen-heading, .page-heading, .panel-heading, .panel-header, .case-heading, .document-detail-header {
    flex-direction: column;
    align-items: stretch;
  }
  .screen-heading > .button-row, .panel-heading > .button-row, .panel-header > .button-row, .case-heading > .button-row { width: 100%; }
  .toolbar, .document-toolbar, .outlook-toolbar, .timeline-toolbar, .drafting-toolbar, .workflow-toolbar {
    grid-template-columns: 1fr !important;
  }
  .toolbar > *, .document-toolbar > *, .outlook-toolbar > *, .timeline-toolbar > *, .drafting-toolbar > *, .workflow-toolbar > * { width: 100%; }
  .document-workspace, .outlook-workspace, .assistant-layout, .timeline-layout, .timeline-side, .legal-layout, .drafting-layout, .workflow-grid {
    grid-template-columns: 1fr !important;
  }
  .document-list-panel, .outlook-list-panel, .timeline-side { position: static; max-height: none; }
  .integration-details, .settings-status-grid { grid-template-columns: 1fr; }
  .facts { grid-template-columns: 1fr; gap: 4px; }
  .facts dt { margin-top: 8px; }
  .list-item, .mail-card, .deadline-card, .proposal-card, .workflow-step, .ecosystem-run > header, .pilot-item {
    align-items: stretch;
    flex-direction: column;
  }
  .list-item > .button-row, .pilot-item > .button-row, .deadline-card > .button-row, .proposal-card > .button-row { width: 100%; justify-content: flex-start; }
  .proposal-card { grid-template-columns: 1fr; }
  .mail-actions { grid-template-columns: 1fr !important; }
  .validation-counts { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .posture-check { grid-template-columns: 1fr; }
  .posture-check .state-badge { justify-self: start; }
  .catalog-grid, .connector-grid { grid-template-columns: 1fr; }
  .ecosystem-case-binding { display: grid; grid-template-columns: 1fr; width: 100%; }
  .ecosystem-case-binding select { min-width: 0; max-width: none; width: 100%; }
  .webmail-frame-panel { min-height: calc(100dvh - 130px); }
  .webmail-frame-panel iframe { min-height: calc(100dvh - 135px); }
  .document-frame { height: min(62dvh, 620px); }
  .toast { position: fixed; top: auto; right: 12px; bottom: 12px; left: 12px; text-align: center; }
}

@media (max-width: 620px) {
  .login-view { padding: 12px; align-items: start; }
  .login-card { padding: 24px 18px; border-radius: 18px; margin-block: 12px; }
  .login-card h1 { font-size: 1.55rem; }
  .button-label { display: none; }
  .topbar-title .eyebrow { font-size: .6rem; }
  .screen { padding-inline: 10px; }
  .panel { padding: 16px 14px; border-radius: 14px; }
  .stats-grid, .metric-grid { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr !important; }
  .span-2 { grid-column: auto; }
  .dialog-actions { display: grid; grid-template-columns: 1fr; }
  .dialog-actions > button { width: 100%; min-height: 44px; }
  dialog, .wide-dialog {
    width: calc(100vw - 12px);
    max-width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
    margin: auto;
    border-radius: 14px;
  }
  .dialog-form { padding: 18px 14px; max-height: calc(100dvh - 12px); }
  .data-table { min-width: 620px; }
  .table-wrap { border: 1px solid var(--line); border-radius: 10px; background: #fff; }
  .button-row, .inline-actions, .toolbar-actions { align-items: stretch; }
  .button-row > button, .inline-actions > button, .toolbar-actions > button { flex: 1 1 145px; }
  .pilot-item .button-row > button, .list-item .button-row > button { flex-basis: 100%; }
  .score-ring { width: 3.5rem; height: 3.5rem; font-size: 1.2rem; }
  .timeline-event-heading { grid-template-columns: 1fr !important; }
  .timeline-event-actions { grid-column: auto; }
  .source-checklist { max-height: 40dvh; overflow-y: auto; }
}

@media (max-width: 390px) {
  .topbar { padding-inline: 8px; }
  .topbar-actions { gap: .2rem; }
  .mobile-nav-toggle, .topbar-new-case, .topbar-tools-toggle { min-width: 38px; width: 38px; padding-inline: 6px; }
  .avatar { width: 34px; height: 34px; }
  .stats-grid, .metric-grid, .validation-counts { grid-template-columns: 1fr; }
  .screen { padding-inline: 8px; }
  .panel { padding-inline: 12px; }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 900px) {
  .sidebar { width: min(72vw, 360px); }
  .sidebar-footer { display: none !important; }
  .topbar { position: static; }
  .dialog-form { max-height: calc(100dvh - 8px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Correctifs de priorité face aux règles mobiles héritées des versions antérieures. */
@media (max-width: 900px) {
  .topbar-actions .topbar-new-case,
  .topbar-actions .topbar-tools-toggle { display: inline-flex; }
  .topbar-actions .topbar-tools > .secondary-button { display: block; }
}

@media (max-width: 900px) {
  .sidebar { padding-top: max(18px, env(safe-area-inset-top)); padding-left: max(14px, env(safe-area-inset-left)); padding-bottom: max(18px, env(safe-area-inset-bottom)); }
  .topbar { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
  .screen { padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); padding-bottom: max(36px, env(safe-area-inset-bottom)); }
  .toast { bottom: max(12px, env(safe-area-inset-bottom)); left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); }
}

/* configuration globale issue de www.conf */
.platform-settings-panel{grid-column:1/-1}.platform-settings-toolbar{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(220px,.8fr) auto auto;gap:14px;align-items:end}.platform-settings-toolbar>label:not(.checkbox-label){display:grid;gap:7px;font-weight:650;font-size:.86rem}.platform-settings-toolbar input[type="search"],.platform-settings-toolbar select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink)}.platform-settings-toggle{padding-bottom:11px;white-space:nowrap}.platform-settings-list{display:grid;gap:16px}.platform-settings-group{border:1px solid var(--line);border-radius:14px;overflow:hidden}.platform-settings-group>h4{margin:0;padding:14px 16px;background:var(--pale);border-bottom:1px solid var(--line);color:var(--navy)}.platform-setting-row{display:grid;grid-template-columns:minmax(270px,1.05fr) minmax(260px,1fr) auto;gap:18px;align-items:center;padding:15px 16px;border-bottom:1px solid var(--line)}.platform-setting-row:last-child{border-bottom:0}.platform-setting-row.is-locked{background:#f7f9fb}.platform-setting-meta{min-width:0}.platform-setting-meta strong,.platform-setting-meta small,.platform-setting-meta code{display:block}.platform-setting-meta small{color:var(--muted);margin-top:5px;line-height:1.4}.platform-setting-meta code{margin-top:7px;word-break:break-all;background:transparent;padding:0;color:#52687d}.platform-setting-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.platform-setting-control input[type="text"],.platform-setting-control input[type="password"],.platform-setting-control input[type="number"],.platform-setting-control select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink)}.platform-setting-control .checkbox-label{min-height:42px}.platform-setting-actions{position:sticky;bottom:10px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow);z-index:2}.source-interface{background:#e6f7ef;color:var(--success)}.source-www-conf{background:#e8f5ff;color:var(--blue-dark)}.source-locked{background:#eef1f4;color:#56687a}.source-restart{background:#fff4de;color:var(--warning)}
@media(max-width:1200px){.platform-settings-toolbar{grid-template-columns:1fr 1fr}.platform-settings-toggle{padding-bottom:0}.platform-setting-row{grid-template-columns:1fr minmax(240px,1fr)}}
@media(max-width:760px){.platform-settings-toolbar{grid-template-columns:1fr}.platform-setting-row{grid-template-columns:1fr;gap:10px}.platform-setting-row>button{width:100%}.platform-settings-actions{position:static}.platform-settings-actions button{width:100%}}


/* interface compacte et repères visuels */
html.ui-compact{font-size:14px}
.ui-compact body{font-size:.9rem;line-height:1.38}
.ui-compact h1,.ui-compact h2,.ui-compact h3,.ui-compact h4{line-height:1.18}
.ui-compact h2[data-ui-icon]::before,.ui-compact h3[data-ui-icon]::before,.ui-compact h4[data-ui-icon]::before{content:attr(data-ui-icon);display:inline-block;margin-right:.42em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-weight:400;line-height:1;vertical-align:-.04em}
.ui-compact .ui-button-icon,.ui-compact .ui-nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-weight:400;line-height:1}
.ui-compact .ui-button-icon{margin-right:.38em;font-size:1em}
.ui-compact .nav-item .ui-nav-icon{width:1.35rem;margin:0;font-size:1rem}
.ui-compact .eyebrow{font-size:.62rem;letter-spacing:.11em}
.ui-compact .topbar h1{font-size:1.38rem}
.ui-compact .hero-card h2{font-size:1.52rem;max-width:860px;margin:5px 0 8px}
.ui-compact .hero-card p{font-size:.84rem;line-height:1.45;margin:6px 0}
.ui-compact .page-heading h2,.ui-compact .screen-heading h2,.ui-compact .case-heading h2,.ui-compact .panel h2{font-size:1.3rem;margin-bottom:.35rem}
.ui-compact .panel h3,.ui-compact .panel-heading h3,.ui-compact .panel-header h3{font-size:1rem;margin-bottom:.2rem}
.ui-compact .panel h4{font-size:.88rem}
.ui-compact .panel p,.ui-compact .list-item p,.ui-compact .pilot-item p,.ui-compact .result-card p{margin-top:.35rem;margin-bottom:.35rem}
.ui-compact .muted,.ui-compact small{font-size:.76rem}
.ui-compact .primary-button,.ui-compact .secondary-button,.ui-compact .ghost-button,.ui-compact .danger-button{display:inline-flex;align-items:center;justify-content:center;gap:0;border-radius:8px;padding:7px 10px;min-height:34px;font-size:.78rem;line-height:1.15}
.ui-compact .small{padding:5px 8px;min-height:30px;font-size:.72rem}
.ui-compact .tiny{padding:4px 7px;min-height:27px;font-size:.68rem}
.ui-compact .icon-button{line-height:1}
.ui-compact .stack-form,.ui-compact .dialog-form{gap:12px}
.ui-compact .stack-form label,.ui-compact .dialog-form label,.ui-compact .platform-settings-toolbar>label:not(.checkbox-label){gap:5px;font-size:.8rem}
.ui-compact input,.ui-compact select,.ui-compact textarea,.ui-compact .toolbar input,.ui-compact .toolbar select,.ui-compact .platform-setting-control input[type="text"],.ui-compact .platform-setting-control input[type="password"],.ui-compact .platform-setting-control input[type="number"],.ui-compact .platform-setting-control select{font-size:.8rem}
.ui-compact .stack-form input,.ui-compact .dialog-form input,.ui-compact .dialog-form select,.ui-compact .dialog-form textarea,.ui-compact .toolbar input,.ui-compact .toolbar select,.ui-compact .platform-settings-toolbar input[type="search"],.ui-compact .platform-settings-toolbar select,.ui-compact .platform-setting-control input[type="text"],.ui-compact .platform-setting-control input[type="password"],.ui-compact .platform-setting-control input[type="number"],.ui-compact .platform-setting-control select{padding:8px 9px;border-radius:8px}
.ui-compact textarea{line-height:1.35}
.ui-compact .form-grid{gap:11px}
.ui-compact .button-row{gap:6px}
.ui-compact .stats-grid,.ui-compact .metric-grid{gap:11px;margin:14px 0}
.ui-compact .stat-card{padding:13px;border-radius:12px}
.ui-compact .stat-card span{font-size:.72rem}
.ui-compact .stat-card strong{font-size:1.45rem;margin-top:3px}
.ui-compact .compact-stats .stat-card{min-height:5rem}
.ui-compact .panel{padding:16px;border-radius:13px}
.ui-compact .panel-heading,.ui-compact .panel-header{gap:8px;margin-bottom:11px}
.ui-compact .content-grid,.ui-compact .two-column-grid,.ui-compact .pilot-layout,.ui-compact .pilot-tools-grid{gap:14px;margin-top:14px}
.ui-compact .list-stack{gap:.5rem}
.ui-compact .list-item,.ui-compact .pilot-item,.ui-compact .result-card{padding:9px 0}
.ui-compact .result-card,.ui-compact .pilot-item{padding:11px;border-radius:10px}
.ui-compact .data-table th,.ui-compact .data-table td{padding:8px 9px;font-size:.78rem}
.ui-compact .data-table th{font-size:.66rem;letter-spacing:.045em}
.ui-compact .badge,.ui-compact .state-badge{font-size:.64rem;padding:3px 7px}
.ui-compact .facts{grid-template-columns:145px 1fr;gap:7px}
.ui-compact .toolbar,.ui-compact .document-toolbar,.ui-compact .outlook-toolbar,.ui-compact .timeline-toolbar,.ui-compact .drafting-toolbar,.ui-compact .workflow-toolbar{gap:7px;margin-bottom:12px}
.ui-compact .platform-settings-list{gap:11px}
.ui-compact .platform-settings-group>h4{padding:10px 12px}
.ui-compact .platform-setting-row{gap:12px;padding:10px 12px}
.ui-compact .platform-setting-meta small{margin-top:3px;line-height:1.3}
.ui-compact .platform-setting-meta code{margin-top:4px;font-size:.7rem}
.ui-compact .platform-setting-badges{margin-top:5px}
.ui-compact dialog{border-radius:14px}
.ui-compact .dialog-form{padding:19px}
.ui-compact .dialog-header h2{font-size:1.22rem}
.ui-compact .dialog-actions{gap:7px}

@media (min-width:901px){
  .ui-compact .app-shell{grid-template-columns:248px minmax(0,1fr)}
  .ui-compact .sidebar{padding:16px 13px}
  .ui-compact .brand img{width:198px}
  .ui-compact .nav-list{gap:3px;margin-top:20px}
  .ui-compact .nav-item{gap:8px;padding:8px 9px;border-radius:8px;font-size:.79rem;line-height:1.18}
  .ui-compact .nav-item em{font-size:.57rem;padding:1px 5px}
  .ui-compact .sidebar-footer{gap:7px}
  .ui-compact .status-pill{font-size:.68rem;gap:5px}
  .ui-compact .topbar{min-height:78px;height:auto;padding:9px 24px}
  .ui-compact .topbar-tools{gap:5px}
  .ui-compact .screen{padding:20px 24px 36px}
  .ui-compact .hero-card{padding:22px 24px;border-radius:16px}
  .ui-compact .hero-badge{width:76px;height:76px;border-radius:18px;font-size:1.75rem}
}

@media (min-width:901px) and (max-width:1100px){
  .ui-compact .app-shell{grid-template-columns:76px minmax(0,1fr)}
  .ui-compact .brand img{content:url('assets/icon-axiorhub.png');width:44px}
  .ui-compact .nav-item{justify-content:center;font-size:0;padding:8px}
  .ui-compact .nav-item .ui-nav-icon{font-size:1.08rem}
  .ui-compact .nav-item em,.ui-compact .sidebar-footer .status-pill{display:none}
}

@media (max-width:900px){
  html.ui-compact{font-size:14px}
  .ui-compact .sidebar .nav-item{font-size:.84rem;min-height:42px;padding:8px 10px}
  .ui-compact .sidebar .nav-item .ui-nav-icon{font-size:1rem}
  .ui-compact .topbar{min-height:66px;padding-block:8px}
  .ui-compact .topbar h1{font-size:clamp(1rem,3.8vw,1.2rem)}
  .ui-compact .screen{padding-top:14px}
  .ui-compact .hero-card{padding:18px 16px}
  .ui-compact .hero-card h2{font-size:clamp(1.18rem,5vw,1.4rem)}
  .ui-compact .panel{padding:14px}
  .ui-compact .primary-button,.ui-compact .secondary-button,.ui-compact .ghost-button,.ui-compact .danger-button{min-height:40px;padding:8px 10px}
  .ui-compact .small{min-height:38px}
  .ui-compact .data-table th,.ui-compact .data-table td{padding:8px;font-size:.75rem}
}

@media (max-width:620px){
  .ui-compact .login-card{padding:20px 16px}
  .ui-compact .login-card h1{font-size:1.35rem}
  .ui-compact .panel{padding:13px 11px}
  .ui-compact .stats-grid,.ui-compact .metric-grid{gap:7px}
  .ui-compact .stat-card{padding:10px}
  .ui-compact .stat-card strong{font-size:1.25rem}
  .ui-compact .dialog-form{padding:15px 12px}
}

/* preuve, stratégie et réversibilité */
.assurance-hero { background: linear-gradient(135deg, #14213d 0%, #274c77 62%, #2a6f97 100%); }
.assurance-grid { align-items: start; }
.assurance-grid .panel { min-width: 0; }
.assurance-grid .span-2 { grid-column: 1 / -1; }
.context-banner { padding: .65rem .9rem; border: 1px solid var(--border, #d8dee8); border-radius: .65rem; background: #f8fafc; }
.assurance-proof-item { border-left: 4px solid #4f6d7a; }
.assurance-proof-item[data-status="validated"] { border-left-color: #2d6a4f; }
.assurance-proof-item[data-status="rejected"] { border-left-color: #9b2226; opacity: .75; }
.assurance-disclaimer { padding: .7rem; border: 1px solid #e9c46a; background: #fff8e1; border-radius: .55rem; }
.assurance-hash { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; font-size: .72rem; }
@media (max-width: 820px) { .assurance-grid .span-2 { grid-column: auto; } }

/* alimentation assistée du dossier */
.case-intake-panel { border-color: rgba(57, 117, 93, .28); }
.intake-source-row { align-items: center; gap: .75rem; }
.case-intake-proposals { display: grid; gap: .45rem; }
.case-intake-proposal {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.5fr) 90px;
  gap: .55rem;
  align-items: start;
  padding: .55rem .65rem;
  border: 1px solid var(--border-color, #d8ddd9);
  border-radius: 10px;
  background: var(--surface-soft, #f8faf8);
}
.case-intake-proposal > label { margin: 0; }
.case-intake-proposal textarea { min-height: 58px; resize: vertical; }
.case-intake-confidence { font-size: .74rem; white-space: nowrap; padding-top: 1.6rem; }
.case-intake-source { font-size: .7rem; color: var(--muted, #64706a); }
.case-intake-actions { position: sticky; bottom: 0; z-index: 2; padding: .55rem; background: rgba(255,255,255,.94); backdrop-filter: blur(8px); border-top: 1px solid var(--border-color, #d8ddd9); }
@media (max-width: 720px) {
  .case-intake-proposal { grid-template-columns: 1fr; }
  .case-intake-confidence { padding-top: 0; }
}

/* Fiche structurée des informations du dossier */
.case-information-panel{margin-top:14px}
.case-information-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}
.case-information-panel>summary::-webkit-details-marker{display:none}
.case-information-panel>summary::after{content:'▾';font-size:.9rem;transition:transform .2s ease}
.case-information-panel[open]>summary::after{transform:rotate(180deg)}
.case-information-panel>summary>span:first-child{display:flex;flex-direction:column;gap:2px}
.case-information-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:16px 0 10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.case-information-toolbar>label{min-width:190px;flex:1 1 220px}
.case-information-toolbar .button-row{margin-left:auto}
.case-information-groups{display:grid;gap:10px;margin:12px 0}
.case-information-group{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.case-information-group>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:11px 13px;list-style:none;background:var(--soft)}
.case-information-group>summary::-webkit-details-marker{display:none}
.case-information-group>summary span{display:flex;flex-direction:column;gap:2px}
.case-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.case-information-field{min-width:0}
.case-information-field>span:first-child{font-weight:650}
.case-information-field textarea{font-family:inherit;resize:vertical;min-height:72px}
.case-information-field-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;color:var(--muted)}
.case-information-field-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nested-settings{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.nested-settings>summary{cursor:pointer}
@media(max-width:900px){.case-information-grid{grid-template-columns:1fr}.case-information-toolbar{align-items:stretch}.case-information-toolbar .button-row{margin-left:0;width:100%}.case-information-toolbar .button-row>*{flex:1}.case-information-field-meta{align-items:flex-start;flex-direction:column}}

/* AxiorHub Plaidoirie */
.pleading-hero { background: linear-gradient(135deg, #12213f, #243f68); }
.pleading-context-toolbar { align-items: end; }
.pleading-context-toolbar label { min-width: min(280px, 100%); }
.pleading-tabs { display: flex; gap: .35rem; margin: .75rem 0; padding: .35rem; overflow-x: auto; background: var(--panel, #fff); border: 1px solid var(--border, #d8dee9); border-radius: .75rem; }
.pleading-tab { flex: 0 0 auto; min-height: 34px; padding: .45rem .75rem; border: 0; border-radius: .55rem; background: transparent; color: inherit; font: inherit; font-weight: 650; cursor: pointer; }
.pleading-tab.active { background: #18335a; color: #fff; }
.pleading-workspace { display: none; }
.pleading-workspace.active { display: block; }
.pleading-sections { display: grid; gap: .7rem; }
.pleading-section { padding: .85rem; border: 1px solid var(--border, #d8dee9); border-left: 4px solid #b78414; border-radius: .65rem; background: #fff; }
.pleading-section.verified { border-left-color: #24734d; }
.pleading-section header { display: flex; justify-content: space-between; gap: .75rem; margin-bottom: .5rem; }
.pleading-section h3 { margin: .3rem 0 0; }
.pleading-section-text { line-height: 1.55; white-space: normal; }
.pleading-foundations { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .7rem; padding-top: .55rem; border-top: 1px dashed var(--border, #d8dee9); }
.source-chip { display: inline-flex; max-width: 100%; padding: .22rem .45rem; border-radius: 999px; background: #eaf1f8; color: #18335a; font-size: .76rem; overflow-wrap: anywhere; }
.source-chip.warning { background: #fff2d7; color: #7a4c00; }
.pleading-version-button { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .1rem; margin: 0 .35rem .35rem 0; padding: .45rem .65rem; border: 1px solid var(--border, #d8dee9); border-radius: .55rem; background: #fff; cursor: pointer; }
.pleading-version-button.active { border-color: #18335a; box-shadow: inset 0 0 0 1px #18335a; }
.pleading-version-button small { color: var(--muted, #657084); }
#pleadingAudioPlayer { width: 100%; margin: .8rem 0; }
.conversation-list { display: grid; gap: .55rem; max-height: 620px; overflow: auto; }
.conversation-message { padding: .65rem .75rem; border-radius: .7rem; background: #edf2f7; }
.conversation-message.user { margin-left: 12%; background: #e5f1ff; }
.conversation-message.assistant { margin-right: 8%; }
.conversation-message p { margin: .3rem 0; white-space: pre-wrap; }
.list-item.selectable { display: flex; align-items: flex-start; gap: .6rem; cursor: pointer; }
.pleading-case-entry { margin-top: .75rem; }
.danger-item { border-left: 4px solid #b42318; }

@media (max-width: 760px) {
  .pleading-tabs { position: sticky; top: calc(var(--topbar-height, 66px) + .25rem); z-index: 5; }
  .pleading-context-toolbar { display: grid; grid-template-columns: 1fr; }
  .pleading-context-toolbar label { min-width: 0; }
  .pleading-section { padding: .7rem; }
  .conversation-message.user, .conversation-message.assistant { margin-left: 0; margin-right: 0; }
}

/* Agent AxiorHub V18 */
.agent-hero { background: linear-gradient(135deg, #173f4d 0%, #245e67 58%, #2f756f 100%); }
.agent-context-toolbar { align-items: end; gap: .75rem; flex-wrap: wrap; }
.agent-context-toolbar label { min-width: min(100%, 320px); }
.agent-scenario-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.agent-scenario-card { text-align: left; border: 1px solid var(--border, #d7e0e2); border-radius: 16px; background: var(--surface, #fff); padding: 1rem; min-height: 120px; cursor: pointer; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.agent-scenario-card strong { display: block; color: var(--ink, #17313a); font-size: 1rem; margin-bottom: .45rem; }
.agent-scenario-card span { display: block; color: var(--muted, #64757c); line-height: 1.45; }
.agent-scenario-card:hover, .agent-scenario-card.active { transform: translateY(-2px); border-color: #2f756f; box-shadow: 0 10px 24px rgba(20, 58, 65, .11); }
.agent-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr); gap: 1rem; align-items: start; }
.agent-side-column { display: grid; gap: 1rem; }
.agent-conversation { min-height: 420px; max-height: 660px; overflow: auto; padding: .5rem; border-radius: 14px; background: #f7faf9; }
.agent-answer { white-space: normal; line-height: 1.62; }
.agent-composer { margin-top: 1rem; }
.agent-tool-call .badge { text-transform: uppercase; font-size: .68rem; }
.agent-drafts-panel { margin-top: 1rem; }
.agent-draft-grid { display: grid; gap: 1rem; }
.agent-draft-card { border: 1px solid var(--border, #d7e0e2); border-radius: 16px; padding: 1rem; background: #fff; }
.agent-draft-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.agent-draft-card h4 { margin: .5rem 0; }
.agent-draft-content { margin: .75rem 0; padding: 1rem; background: #f7faf9; border-radius: 12px; line-height: 1.58; max-height: 460px; overflow: auto; }
.agent-draft-card footer { display: flex; justify-content: space-between; gap: 1rem; align-items: center; flex-wrap: wrap; }
.state-badge.neutral { background: #edf2f3; color: #496068; }
.empty-state.compact { min-height: 180px; }
@media (max-width: 1200px) { .agent-scenario-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .agent-layout { grid-template-columns: 1fr; } .agent-side-column { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .agent-scenario-grid, .agent-side-column { grid-template-columns: 1fr; } .agent-conversation { min-height: 320px; } .agent-draft-card header, .agent-draft-card footer { display: block; } .agent-draft-card .button-row { margin-top: .75rem; } }
