/* Carla UI foundation — presentation only. Business flows remain in app.js. */
:root {
  color-scheme: light;
  --user-theme: #183153;
  --color-primary: var(--user-theme);
  --color-primary-hover: color-mix(in srgb, var(--user-theme) 78%, #000);
  --color-primary-soft: color-mix(in srgb, var(--user-theme) 10%, #fff);
  --color-secondary: #a57b42;
  --color-secondary-soft: #f7f0e5;
  --color-success: #267151;
  --color-success-soft: #e8f4ee;
  --color-warning: #95641b;
  --color-warning-soft: #fff4dc;
  --color-danger: #a33f3a;
  --color-danger-soft: #fbeceb;
  --color-info: #276b9c;
  --color-info-soft: #eaf4fb;
  --color-text: #1c2a3b;
  --color-text-muted: #66758a;
  --color-text-subtle: #8793a3;
  --color-canvas: #f4f6f8;
  --color-surface: #ffffff;
  --color-surface-subtle: #f8fafc;
  --color-border: #dce3eb;
  --color-border-strong: #c7d1dd;
  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
  --text-xs: .6875rem;
  --text-sm: .8125rem;
  --text-md: .9375rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --text-2xl: clamp(1.75rem, 3vw, 2.25rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --radius-control: .625rem;
  --radius-card: .875rem;
  --radius-panel: 1.125rem;
  --shadow-sm: 0 1px 2px rgba(18, 38, 63, .04), 0 4px 12px rgba(18, 38, 63, .04);
  --shadow-md: 0 14px 38px rgba(18, 38, 63, .09);
  --shadow-lg: 0 28px 80px rgba(18, 38, 63, .18);
  --focus-ring: 0 0 0 3px rgba(39, 107, 156, .22);
  --transition-fast: 140ms ease;
  --transition-base: 200ms ease;
}
html[data-ui-size="compact"] { font-size: 14px; }
html[data-ui-size="normal"] { font-size: 16px; }
html[data-ui-size="large"] { font-size: 17.6px; }

html { scroll-behavior: smooth; }
body {
  min-width: 320px;
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: 1.5;
  color: var(--color-text);
  background: var(--color-canvas);
  -webkit-font-smoothing: antialiased;
}
::selection { color: #fff; background: var(--color-primary); }
:where(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--color-info) !important;
  outline-offset: 2px;
  box-shadow: var(--focus-ring);
}
:where(button, input, select, textarea) { font: inherit; }
:where(button, a) { -webkit-tap-highlight-color: transparent; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed !important; opacity: .52; }

/* Application frame */
.portal-shell { min-height: 100vh; background: var(--color-canvas); }
.primary-sidebar {
  width: 252px;
  padding: var(--space-5) var(--space-3) var(--space-4);
  border-right: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, color-mix(in srgb, var(--user-theme) 92%, #fff) 0%, color-mix(in srgb, var(--user-theme) 76%, #000) 100%);
  box-shadow: 8px 0 30px rgba(16,35,60,.08);
}
.product-mark { min-height: 58px; padding: 0 var(--space-3) var(--space-5); }
.product-mark .product-seal {
  width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.35);
  background: linear-gradient(145deg, #b99560, #84612e); box-shadow: inset 0 1px rgba(255,255,255,.3);
}
.product-mark b { font-size: 1.05rem; letter-spacing: -.015em; }
.product-mark small { color: #aebbd0; font-size: .64rem; }
.primary-sidebar nav { gap: 3px; }
.nav-item {
  position: relative; min-height: 42px; padding: 10px 12px 10px 42px !important;
  border-radius: 9px !important; color: #c6d2e2 !important; font-size: .77rem !important;
  font-weight: 600 !important; letter-spacing: .005em; transition: color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);
}
.nav-item::before {
  position: absolute; left: 14px; top: 50%; width: 18px; transform: translateY(-50%);
  color: #91a5bd; font-size: .95rem; font-weight: 400; text-align: center;
}
.nav-item[data-view="dashboard"]::before { content: "◫"; }
.nav-item[data-view="clients"]::before { content: "♙"; }
.nav-item[data-view="matters"]::before { content: "§"; }
.nav-item[data-view="tasks"]::before { content: "✓"; }
.nav-item[data-view="meetings"]::before { content: "◷"; }
.nav-item[data-view="calendar"]::before { content: "□"; }
.nav-item[data-view="missions"]::before { content: "◇"; }
.nav-item[data-view="messaging"]::before { content: "✉"; }
.nav-item[data-view="documents"]::before { content: "▤"; }
.nav-item[data-view="admissions"]::before { content: "+"; }
.nav-item[data-view="activity"]::before { content: "↗"; }
.nav-item[data-view="billing"]::before { content: "€"; }
.nav-item[data-view="administration"]::before { content: "⚙"; }
.nav-item[data-view="settings"]::before { content: "⋯"; }
.nav-item:hover { color: #fff !important; background: rgba(255,255,255,.07) !important; transform: translateX(2px); }
.nav-item.active { color: #fff !important; background: rgba(255,255,255,.12) !important; box-shadow: inset 3px 0 var(--color-secondary); }
.nav-item.active::before { color: #d8b47b; }
.sidebar-secondary { margin-top: var(--space-3) !important; padding-top: var(--space-3) !important; border-top: 1px solid rgba(255,255,255,.09); }
.user-summary { margin-top: auto; padding: var(--space-3); border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.045); }
.user-avatar { background: #d8e1ed !important; color: var(--color-primary) !important; }
.user-summary button { color: #b9c7d8 !important; }

.app-shell { width: auto !important; max-width: none !important; margin-left: 252px !important; padding: 94px clamp(24px, 3.4vw, 52px) 72px !important; }
.topbar {
  position: fixed !important; z-index: 25; top: 0; right: 0; left: 252px;
  height: 70px; padding: 0 clamp(24px, 3.4vw, 52px) !important;
  border-bottom: 1px solid var(--color-border) !important; background: rgba(255,255,255,.92) !important;
  box-shadow: 0 1px 0 rgba(18,38,63,.02); backdrop-filter: blur(16px);
}
.app-breadcrumb { display: flex; align-items: center; gap: 8px; min-width: 170px; color: var(--color-text-subtle); font-size: var(--text-xs); letter-spacing: 0; }
.app-breadcrumb i { color: var(--color-border-strong); font-style: normal; }
.app-breadcrumb strong { color: var(--color-text); font-weight: 700; }
.global-search { width: min(440px, 38vw) !important; height: 40px; border: 1px solid var(--color-border) !important; border-radius: 10px !important; background: var(--color-surface-subtle) !important; box-shadow: none !important; }
.global-search:focus-within { border-color: var(--color-info) !important; box-shadow: var(--focus-ring) !important; background: #fff !important; }
.global-search input { font-size: var(--text-sm) !important; }
.global-search { position: relative; }
.global-search > label { color: var(--color-text-muted); font-size: var(--text-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.global-search > button { padding: 3px 7px; border: 0; background: transparent; color: var(--color-text-muted); font-size: 1.15rem; cursor: pointer; }
.global-search-results { position: absolute; z-index: 80; top: calc(100% + 8px); right: 0; left: 0; max-height: min(65vh, 520px); overflow-y: auto; padding: 7px; border: 1px solid var(--color-border); border-radius: 12px; background: #fff; box-shadow: 0 20px 50px rgba(24,49,83,.18); }
.global-search-results[hidden] { display: none; }
.global-search-result { display: grid; grid-template-columns: 84px minmax(0,1fr); width: 100%; padding: 10px 12px; border: 0; border-radius: 8px; background: transparent; color: var(--color-text); text-align: left; cursor: pointer; }
.global-search-result:hover,.global-search-result:focus { outline: 0; background: var(--color-surface-subtle); }
.global-search-result span { grid-row: 1 / 3; align-self: center; color: var(--color-info); font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; }
.global-search-result b,.global-search-result small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-search-result small { margin-top: 2px; color: var(--color-text-muted); }
.global-search-state { margin: 0; padding: 15px; color: var(--color-text-muted); text-align: center; }
.connection { color: var(--color-text-muted) !important; white-space: nowrap; }
.connection i { width: 7px; height: 7px; background: var(--color-success) !important; box-shadow: 0 0 0 3px var(--color-success-soft); }
.ui-size-controls { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--color-border); border-radius: 9px; background: #fff; }
.ui-size-controls button { min-width: 34px; height: 36px; padding: 0 7px; border: 0; border-right: 1px solid var(--color-border); background: #fff; color: var(--color-primary); font-size: .66rem; font-weight: 750; }
.ui-size-controls button:last-child { border-right: 0; }
.ui-size-controls button:hover { background: var(--color-primary-soft); }
#ui-size-reset { min-width: 48px; color: var(--color-text-muted); }

/* Type and page rhythm */
.app-screen { width: 100%; max-width: none; margin-inline: 0; animation: premiumScreenIn var(--transition-base) both; }
@keyframes premiumScreenIn { from { opacity: 0; transform: translateY(5px); } }
.screen-workspace, .dashboard { padding: 0 !important; }
.screen-heading, .dashboard-heading { align-items: flex-end !important; gap: var(--space-6); margin: 0 0 var(--space-8) !important; padding: 0 0 var(--space-5) !important; border-bottom: 1px solid var(--color-border); }
:where(.screen-heading, .dashboard-heading) h1 { margin: 4px 0 !important; color: var(--color-primary) !important; font-family: var(--font-display) !important; font-size: var(--text-2xl) !important; font-weight: 400 !important; line-height: 1.2; letter-spacing: -.025em !important; }
:where(.screen-heading, .dashboard-heading) p { margin: 0 !important; color: var(--color-text-muted) !important; font-size: var(--text-sm) !important; letter-spacing: 0 !important; }
.eyebrow, .overline { color: var(--color-secondary) !important; font-size: .625rem !important; font-weight: 800 !important; letter-spacing: .14em !important; }
h2, h3 { color: var(--color-primary); }

/* Shared controls */
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 42px; border: 1px solid var(--color-border-strong) !important; border-radius: var(--radius-control) !important;
  background: var(--color-surface) !important; color: var(--color-text) !important; box-shadow: 0 1px 2px rgba(18,38,63,.025);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
:where(input, textarea)::placeholder { color: #94a0af; opacity: 1; }
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover { border-color: #aebbc9 !important; }
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus { border-color: var(--color-info) !important; outline: 0 !important; box-shadow: var(--focus-ring) !important; }
:where(input, select, textarea):user-invalid { border-color: var(--color-danger) !important; background: #fffafa !important; }
label { color: #3f5065; font-size: var(--text-sm); font-weight: 650; }
textarea { resize: vertical; line-height: 1.55; }
:where(button, .billing-secondary) { transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast); }
:where(button, .billing-secondary):active:not(:disabled) { transform: translateY(1px); }
:where(.screen-action, .global-client-create, .task-complete-primary, .outlook-new-mail) {
  min-height: 40px; padding: 9px 15px !important; border: 1px solid transparent !important; border-radius: var(--radius-control) !important;
  background: var(--color-primary) !important; color: #fff !important; font-size: var(--text-sm) !important; font-weight: 750 !important; box-shadow: 0 4px 12px rgba(24,49,83,.14) !important;
}
:where(.screen-action, .global-client-create, .task-complete-primary, .outlook-new-mail):hover { background: var(--color-primary-hover) !important; box-shadow: 0 7px 18px rgba(24,49,83,.2) !important; transform: translateY(-1px); }
.global-client-create { border-color: var(--color-border-strong) !important; background: #fff !important; color: var(--color-primary) !important; box-shadow: var(--shadow-sm) !important; }
#client-mail-triage { display: inline-flex; }
/* Classement des emails : lecture à gauche, une seule action à droite. */
[data-screen="clients"]:has(.client-profile-open .mail-triage) > .screen-heading { display: none; }
#client-profile:has(.mail-triage) { position: static; }
#client-profile .mail-triage { min-height: 360px; background: #f3f6fa; }
#client-profile .mail-triage > header { display: block; padding: 24px 28px; border-bottom: 1px solid #dce3ed; background: #fff; color: #203650; letter-spacing: normal; }
#client-profile .mail-triage-back { min-height: 42px; margin: 0 0 16px; padding: 8px 12px; border: 1px solid #cdd8e5; background: #f8fafc; color: #315477; font-size: .875rem; }
#client-profile .mail-triage-title { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
#client-profile .mail-triage h2 { margin: 0; color: #203650; font: 750 1.5rem/1.3 var(--font-sans); letter-spacing: normal; }
#client-profile [data-triage-count] { padding: 5px 9px; border-radius: 7px; background: #e9f0fa; color: #355b84; font-size: .8125rem; }
#client-profile [data-triage-count]:empty { display: none; }
#client-profile .mail-triage > header p { margin: 10px 0 0; color: #52657b; font-size: .9375rem; line-height: 1.5; }
#client-profile .mail-triage-list { display: grid; gap: 18px; padding: 24px; }
#client-profile .mail-triage-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,280px); gap: 24px; padding: 24px; border: 1px solid #d7e0eb; border-radius: 12px; background: #fff; }
#client-profile .mail-triage-message { min-width: 0; }
#client-profile .mail-triage-sender { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 10px; }
#client-profile .mail-triage-sender b { color: #365574; font-size: .875rem; overflow-wrap: anywhere; }
#client-profile .mail-triage-card time { color: #617086; font-size: .8125rem; }
#client-profile .mail-triage-card h3 { margin: 0 0 10px; color: #1c304b; font-size: 1.0625rem; line-height: 1.45; overflow-wrap: anywhere; }
#client-profile .mail-triage-card p { margin: 0; color: #53647a; font-size: .9375rem; line-height: 1.65; overflow-wrap: anywhere; }
#client-profile .mail-triage-excerpt { display: block; padding: 16px 18px; border-left: 3px solid #bed2e8; border-radius: 6px; background: #f7f9fc; color: #354b63; font-size: 1rem; line-height: 1.9; white-space: pre-line; }
#client-profile .mail-triage-excerpt > span { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
#client-profile .mail-triage-preview { margin-top: 10px; }
#client-profile .mail-triage-preview summary { width: fit-content; padding: 8px 0; color: #245c91; font-size: .8125rem; font-weight: 650; cursor: pointer; }
#client-profile .mail-triage-preview p { display: block; max-height: 460px; margin-top: 12px; padding: 20px; overflow: auto; border-radius: 8px; background: #f4f7fb; color: #354b63; font-size: 1rem; line-height: 1.9; white-space: pre-wrap; }
#client-profile .mail-triage-action .mail-triage-no-link { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #d5e0eb; border-radius: 8px; background: #f7f9fc; cursor: pointer; line-height: 1.5; }
#client-profile .mail-triage-no-link input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #3c765c; }
#client-profile .mail-triage-no-link small { display: block; margin-top: 3px; color: #52657b; font-size: .75rem; font-weight: 400; }
#client-profile .without-link .mail-triage-no-link { border-color: #81ac96; background: #edf6f0; }
#client-profile .without-link .mail-triage-action button { background: #32664d; }
#client-profile .mail-triage-notices:empty { display: none; }
#client-profile .mail-triage-notices { display: grid; gap: 8px; padding: 18px 24px 0; }
#client-profile .mail-triage-notice { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid #b6d4c1; border-radius: 8px; background: #edf7f0; color: #28583e; font-size: .875rem; }
#client-profile .mail-triage-notice span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
#client-profile .mail-triage-notice button { min-height: 40px; padding: 8px 12px; border: 1px solid #8cb49b; border-radius: 6px; background: #fff; color: #28583e; cursor: pointer; }
#client-profile .mail-triage-notice small:empty { display: none; }
#client-profile .mail-triage-scope-hint { display: block; padding: 10px; border-radius: 7px; background: #edf4fd; color: #365c84; font-size: .8125rem; line-height: 1.5; overflow-wrap: anywhere; }
#client-profile .mail-triage-message:has(details[open]) > .mail-triage-excerpt { display: none; }
#client-profile .mail-triage-action { display: flex; flex-direction: column; align-self: start; gap: 10px; min-width: 0; margin: 0; padding: 0 0 0 24px; border: 0; border-left: 1px solid #e2e8f0; }
#client-profile .mail-triage-action label { display: grid; gap: 8px; color: #324b66; font-size: .875rem; font-weight: 700; }
#client-profile .mail-triage-action select { width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #b9c8da; border-radius: 8px; background: #fff; color: #243b56; font-size: .875rem; }
#client-profile .mail-triage-action [data-client-search] { width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #b9c8da; border-radius: 8px; background: #fff; color: #243b56; font-size: .875rem; }
#client-profile .mail-triage-action select[size]:not([size="1"]) { padding: 4px; }
#client-profile .mail-triage-action select[size]:not([size="1"]) option { padding: 9px 7px; }
#client-profile .mail-triage-search-status { color: #52657b; font-size: .75rem; line-height: 1.5; }
#client-profile .carla-suggestion { display: block; margin: 0; padding: 0; border-radius: 6px; background: transparent; color: #64748b; font-size: .8125rem; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
#client-profile .carla-suggestion.has-suggestion { padding: 8px 10px; background: #edf5ff; color: #295c8e; }
#client-profile .mail-triage-action button { min-height: 44px; padding: 10px 16px; background: #245e96; color: #fff; font-size: .9375rem; cursor: pointer; }
#client-profile .mail-triage-action button:disabled { background: #e5ebf2; color: #66778a; cursor: default; }
#client-profile .mail-triage .mail-triage-feedback { display: block; padding: 10px; border-radius: 6px; background: #fff0ee; color: #953b31; font-size: .8125rem; }
#client-profile .mail-triage [hidden] { display: none !important; }
#client-profile .mail-triage :is(button,summary,select,input):focus-visible { outline: 3px solid #397db9; outline-offset: 3px; }
@media(max-width:1100px) {
  #client-profile .mail-triage-card { grid-template-columns: minmax(0,1fr); gap: 18px; }
  #client-profile .mail-triage-action { padding: 16px 0 0; border-left: 0; border-top: 1px solid #e2e8f0; }
}
@media(max-width:600px) {
  #client-profile .mail-triage > header { padding: 18px 16px; }
  #client-profile .mail-triage-list { padding: 12px; gap: 14px; }
  #client-profile .mail-triage-card { padding: 16px; }
}
.global-client-create:hover { border-color: #aebbc9 !important; background: var(--color-surface-subtle) !important; }
.danger-action { color: var(--color-danger) !important; }

/* Cards, metrics and panels */
:where(.dashboard-panel, .urgency-wall, .context-card, .client-directory-panel, .meeting-panel, .index-panel, .new-contacts-section, .task-detail, .matter-billing, .billing-lower > article) {
  border: 1px solid var(--color-border) !important; border-radius: var(--radius-panel) !important; background: var(--color-surface) !important; box-shadow: var(--shadow-sm) !important;
}
.metric-grid { gap: var(--space-3) !important; margin-bottom: var(--space-6) !important; }
.metric-card { min-height: 132px; padding: var(--space-5) !important; border: 1px solid var(--color-border) !important; border-radius: var(--radius-card) !important; background: var(--color-surface) !important; box-shadow: var(--shadow-sm) !important; }
.metric-card::before { background: var(--color-secondary) !important; }
.metric-card:hover { border-color: #bdc8d5 !important; box-shadow: var(--shadow-md) !important; transform: translateY(-2px); }
.metric-card span, .metric-card small { color: var(--color-text-muted) !important; }
.metric-card strong { color: var(--color-primary) !important; font-family: var(--font-display) !important; }
.dashboard-grid { gap: var(--space-5) !important; }
.dashboard-panel, .urgency-wall { padding: var(--space-6) !important; }
.quick-launch { gap: var(--space-3) !important; }
.quick-launch a { border: 1px solid var(--color-border) !important; border-radius: var(--radius-control) !important; background: var(--color-surface-subtle) !important; color: var(--color-primary) !important; }
.quick-launch a:hover { border-color: var(--color-border-strong) !important; background: var(--color-primary-soft) !important; }

/* Tables and high-volume lists */
:where(.crm-table-wrap, .matter-table-wrap, .simple-matter-table, .billing-table) { border: 1px solid var(--color-border) !important; border-radius: var(--radius-card) !important; background: #fff !important; box-shadow: var(--shadow-sm) !important; scrollbar-color: #b4c0ce transparent; }
:where(table) { border-collapse: separate; border-spacing: 0; }
:where(th) { height: 44px; padding: 11px 14px !important; border-bottom: 1px solid var(--color-border-strong) !important; background: #f1f4f7 !important; color: #526176 !important; font-size: .65rem !important; font-weight: 800 !important; letter-spacing: .055em !important; text-transform: uppercase; }
:where(td) { padding: 13px 14px !important; border-bottom: 1px solid #e7ebf0 !important; color: #34465b; font-size: var(--text-sm); }
:where(tbody tr) { transition: background var(--transition-fast), box-shadow var(--transition-fast); }
:where(tbody tr:nth-child(even)) { background: #fbfcfd; }
:where(tbody tr:hover) { background: #f2f6fa !important; }
:where(tbody tr:last-child td) { border-bottom: 0 !important; }
.matter-status, .billing-state, .task-sheet-priority, .task-sheet-status, .secure-index-badge { border-radius: 999px !important; font-weight: 750 !important; }

/* Empty, loading and feedback states */
.carla-global-progress{position:fixed;right:24px;bottom:24px;z-index:2000;width:min(410px,calc(100vw - 32px));padding:16px 17px;border:1px solid #c9d5e3;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 18px 55px rgba(18,38,63,.2);backdrop-filter:blur(12px);animation:carlaProgressIn .2s ease-out}.carla-global-progress[hidden]{display:none}.carla-global-progress-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.carla-global-progress-heading>div{display:grid;gap:3px;min-width:0}.carla-global-progress-heading b{color:var(--color-primary);font-size:var(--text-sm)}.carla-global-progress-heading span:not(.carla-global-progress-mark),.carla-global-progress>small{overflow:hidden;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.carla-global-progress-heading strong{color:var(--color-primary);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.carla-global-progress-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;font:700 1rem Georgia,serif}.carla-global-progress-track{height:7px;margin:13px 0 9px;overflow:hidden;border-radius:99px;background:#e5eaf0}.carla-global-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),#b58c3e);transition:width .4s ease}.carla-global-progress.complete .carla-global-progress-track i{background:var(--color-success)}.carla-global-progress.error{border-color:#e3aaa5}.carla-global-progress.error .carla-global-progress-track i{background:var(--color-danger)}@keyframes carlaProgressIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:600px){.carla-global-progress{right:16px;bottom:16px;left:16px;width:auto}}
:where(.professional-empty, .empty-state, .context-placeholder, .outlook-reading-empty) { min-height: 180px; padding: var(--space-8) !important; border: 1px dashed var(--color-border-strong) !important; border-radius: var(--radius-card) !important; background: var(--color-surface-subtle) !important; color: var(--color-text-muted) !important; }
:where(.professional-empty, .empty-state, .context-placeholder) b { color: var(--color-primary) !important; font-size: var(--text-md); }
.module-status { min-height: 38px; padding: 10px 0; color: var(--color-text-muted) !important; font-size: var(--text-sm) !important; }
.module-status:empty { display: none; }
.warning { border-color: #efd7a7 !important; background: var(--color-warning-soft) !important; color: var(--color-warning) !important; }
.task-form-error { border: 1px solid #efc6c3; background: var(--color-danger-soft) !important; color: var(--color-danger) !important; }
.document-library-table td:nth-child(2){min-width:180px}.document-library-table td:nth-child(2) b,.document-library-table td:nth-child(2) small{display:block}.document-library-table td:nth-child(2) small,.document-library-feedback{margin-top:4px;color:var(--color-text-muted);font-size:var(--text-xs)}.document-library-table td:nth-child(3){min-width:150px}.document-state-badge{display:table;width:max-content;margin:3px 0;padding:4px 8px;border-radius:999px;font-size:.64rem;font-weight:800}.document-state-badge.valid{background:var(--color-success-soft);color:var(--color-success)}.document-state-badge.review{background:var(--color-warning-soft);color:var(--color-warning)}.document-state-badge.duplicate{background:#f0e9fb;color:#654394}
.agreement-financial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;padding:15px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-subtle)}.agreement-financial-summary div{display:grid;gap:5px}.agreement-financial-summary span{color:var(--color-text-muted);font-size:var(--text-xs)}.agreement-financial-summary b{color:var(--color-primary);font-size:var(--text-lg)}.agreement-schedule-total{padding:11px 12px;border-top:2px solid var(--color-primary);color:var(--color-primary);font-weight:800}.agreement-preview-finance{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle)}@media(max-width:700px){.agreement-financial-summary{grid-template-columns:1fr}.agreement-preview-finance{grid-template-columns:1fr}}

/* Dialogs */
dialog { color: var(--color-text); }
:where(.client-create-dialog, .task-dialog, .billing-dialog, .document-summary-dialog, .calendar-dialog-form) {
  width: min(760px, calc(100vw - 32px)); max-height: min(90vh, 900px); padding: 0 !important; overflow: auto;
  border: 1px solid var(--color-border) !important; border-radius: var(--radius-panel) !important; background: var(--color-surface) !important; box-shadow: var(--shadow-lg) !important;
  animation: premiumDialogIn var(--transition-base) both;
}
dialog::backdrop { background: rgba(12, 27, 46, .58) !important; backdrop-filter: blur(3px); }
@keyframes premiumDialogIn { from { opacity: 0; transform: translateY(10px) scale(.985); } }
:where(.task-dialog, .billing-dialog) form, .client-create-shell { padding: var(--space-6) !important; }
:where(dialog header) { padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
:where(dialog footer) { padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
:where(dialog header > button[aria-label="Fermer"], dialog header > button:last-child) { display: grid; place-items: center; width: 38px; height: 38px; padding: 0 !important; border: 0 !important; border-radius: 9px; background: transparent !important; color: var(--color-text-muted) !important; }
:where(dialog header > button):hover { background: var(--color-primary-soft) !important; color: var(--color-primary) !important; }

/* Feature surfaces aligned with the system */
.client-workbench { gap: var(--space-5) !important; }
.client-directory-panel { overflow: hidden; }
.client-directory-title { background: var(--color-primary) !important; }
.client-directory-row { min-height: 54px; border-color: #e7ebf0 !important; color: var(--color-text) !important; }
.client-directory-row:hover, .client-directory-row.active { background: var(--color-primary-soft) !important; }
.client-profile-hero { border-radius: var(--radius-panel) !important; background: linear-gradient(125deg, #142c4b, #274b74) !important; box-shadow: var(--shadow-md); }
.matter-dashboard-header { display: block; height: auto; min-height: 190px; margin-bottom: 10px; padding: 22px 26px; overflow: hidden; box-sizing: border-box; border-radius: var(--radius-panel); background: linear-gradient(125deg, #142c4b, #274b74); color: #fff; box-shadow: var(--shadow-md); }
.matter-header-identity { min-width: 0; }
.matter-header-identity > div { display: flex; align-items: center; flex-wrap: nowrap; gap: 12px; margin: 5px 0 7px; min-width:0; }
.matter-header-identity h1 { min-width: 0; margin: 0; overflow:hidden; color: #fff !important; font-family: var(--font-display); font-size: clamp(1.45rem, 2vw, 2rem); font-weight: 500; line-height: 1.18; }
.matter-header-identity h1 { display: grid; gap: 5px; }
.matter-client-primary { width: fit-content; padding: 0; border: 0; background: transparent; color: #fff; font: inherit; font-size: clamp(1.65rem, 2.5vw, 2.35rem); text-align: left; cursor: pointer; }
.matter-client-primary:hover { text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 5px; }
.matter-reference { color: #b9c8db; font: 750 var(--text-sm)/1.2 var(--font-sans); letter-spacing: .05em; }
.matter-subject { color: #fff; font: 500 clamp(.95rem, 1.3vw, 1.15rem)/1.3 var(--font-sans); }
.matter-header-identity .matter-state { flex: 0 0 auto; background: #dff3e5 !important; color: #28563b !important; }
.matter-header-identity .dossier-client-link { padding: 2px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.52); border-radius: 0; background: transparent !important; color: #fff !important; font-size: var(--text-md); font-weight: 750; }
.matter-header-identity .dossier-client-link:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.matter-header-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 10px; margin: 14px 0 0; overflow:visible; }
.matter-header-facts > div { min-width: 0; min-height:64px; height:auto; overflow:visible; box-sizing:border-box; }
.matter-header-facts dt { color: #bac9dc; font-size: var(--text-xs); }
.matter-header-facts dd { margin: 3px 0 0; color: #fff; font-size: var(--text-sm); font-weight: 700; overflow-wrap: anywhere; }
.matter-header-facts > div { padding: 9px 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; background: rgba(255,255,255,.06); }
.matter-header-facts .is-missing dd { color: #ffe4ad; }
.matter-header-field button { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-height:28px; padding:0; border:0; background:transparent; color:#fff; text-align:left; cursor:pointer; font:inherit; font-size:var(--text-sm); font-weight:700; }
.matter-truncated { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.matter-header-field button span { display:block; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.matter-header-field button i { flex:0 0 auto; color:#d9c28f; font-style:normal; opacity:.75; }
.matter-header-field button:hover i,.matter-header-field button:focus-visible i { opacity:1; }
.matter-header-field button:focus-visible { outline:2px solid #fff; outline-offset:4px; border-radius:3px; }
.matter-header-field.is-missing button { color:#ffe4ad; }
.matter-field-dialog { width:min(610px,calc(100vw - 32px)); border:0; border-radius:17px; color:var(--color-text); box-shadow:0 30px 90px rgba(20,38,66,.35); }
.matter-field-dialog::backdrop { background:rgba(12,25,43,.55); backdrop-filter:blur(2px); }
.matter-field-dialog form { display:grid; gap:16px; }
.matter-field-dialog header,.matter-field-dialog footer { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.matter-field-dialog header h2 { margin:4px 0 0; color:var(--color-primary); font-family:Georgia,serif; font-weight:400; }
.matter-field-dialog header>button { border:0; background:transparent; font-size:1.5rem; }
.matter-field-dialog label { display:grid; gap:7px; color:var(--color-text-muted); font-size:var(--text-sm); font-weight:700; }
.matter-field-dialog input,.matter-field-dialog select,.matter-field-dialog textarea { width:100%; padding:11px 12px; border:1px solid var(--color-border-strong); border-radius:var(--radius-control); background:#fff; color:var(--color-text); font:inherit; }
.matter-field-dialog textarea { min-height:150px; resize:vertical; line-height:1.55; }
.matter-field-suggestion { padding:14px; border:1px solid #dac08a; border-radius:var(--radius-control); background:#fff9eb; }
.matter-field-suggestion small,.matter-field-suggestion b,.matter-field-suggestion p { display:block; margin:0 0 7px; }
.matter-field-suggestion>div { display:flex; gap:8px; margin-top:12px; }
.matter-field-suggestion button,.matter-field-dialog footer button { padding:9px 12px; border:1px solid var(--color-border-strong); border-radius:var(--radius-control); background:#fff; color:var(--color-primary); }
.matter-field-dialog footer { align-items:center; justify-content:flex-end; }
.matter-field-dialog footer [data-clear] { margin-right:auto; color:#9b3d36; }
.matter-field-status { min-height:1.25em; margin:0; color:#9b3d36; font-size:var(--text-sm); }
.matter-summary-cockpit { display:grid; gap:var(--space-5); }
.matter-summary-card,.matter-summary-timeline { padding:clamp(20px,2.2vw,28px); border:1px solid var(--color-border); border-radius:var(--radius-panel); background:#fff; box-shadow:var(--shadow-sm); }
.matter-summary-card>header,.matter-summary-timeline>header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.matter-summary-card h2,.matter-summary-timeline h2 { margin:5px 0 0; color:var(--color-primary); font:500 clamp(1.2rem,2vw,1.55rem)/1.25 var(--font-display); }
.matter-summary-card>header button,.matter-summary-timeline>header button { padding:9px 12px; border:1px solid var(--color-border-strong); border-radius:var(--radius-control); background:#fff; color:var(--color-primary); font-weight:750; cursor:pointer; }
.matter-summary-card [data-summary-updated] { display:block; margin-top:7px; color:var(--color-text-muted); font-size:var(--text-xs); font-style:normal; }
.matter-summary-indicators { display:flex; flex-wrap:wrap; gap:7px 18px; margin:22px 0 0; padding:10px 0; border-block:1px solid var(--color-border); color:#536177; font-size:var(--text-xs); }
.matter-summary-indicators span:first-child { color:var(--color-primary); font-weight:750; }
.matter-summary-body { max-width:78ch; margin:clamp(24px,3vw,36px) auto 4px; color:#34445a; font-size:clamp(.98rem,.25vw + .94rem,1.06rem); line-height:1.82; }
.matter-summary-body section { margin:0 0 1.65em; }
.matter-summary-body h3 { margin:0 0 .55em; color:var(--color-primary); font:600 1.04em/1.4 var(--font-display); letter-spacing:.01em; }
.matter-summary-body p { margin:0; text-align:justify; text-justify:inter-word; hyphens:auto; overflow-wrap:break-word; }
.matter-summary-body strong { color:#1b3152; font-weight:750; }
.matter-summary-callout { margin:1.8em 0; padding:14px 17px; border-left:3px solid #bd8e38; border-radius:0 var(--radius-control) var(--radius-control) 0; background:#fffaf0; }
.matter-summary-callout>strong { display:block; margin-bottom:5px; color:#765719; font-size:.91em; }
.matter-summary-callout p { text-align:left; }
.matter-summary-source-marker { display:inline-grid; place-items:center; min-width:1.35em; height:1.35em; margin-left:.12em; padding:0 .3em; border:1px solid #b9c5d4; border-radius:999px; background:#f7f9fb; color:#49627f; font-size:.63em; font-weight:800; line-height:1; vertical-align:super; cursor:pointer; }
.matter-summary-source-marker:hover,.matter-summary-source-marker:focus-visible { border-color:#8da0b8; background:#edf2f7; color:var(--color-primary); }
.matter-summary-trace-footer { max-width:78ch; margin:20px auto 0; padding-top:14px; border-top:1px solid var(--color-border); }
.matter-summary-trace-footer button { padding:6px 0; border:0; background:transparent; color:#64758b; font-size:var(--text-xs); font-weight:750; cursor:pointer; }
.matter-summary-sources-dialog { width:min(620px,calc(100vw - 32px)); max-width:none; height:100vh; max-height:none; margin:0 0 0 auto; padding:0; border:0; border-left:1px solid var(--color-border); background:#fff; box-shadow:-22px 0 55px rgba(20,37,63,.16); }
.matter-summary-sources-dialog::backdrop { background:rgba(20,37,63,.25); }
.matter-summary-sources-dialog>article { display:grid; grid-template-rows:auto 1fr auto; height:100%; }
.matter-summary-sources-dialog>article>header,.matter-summary-sources-dialog>article>footer { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:22px 24px; border-bottom:1px solid var(--color-border); }
.matter-summary-sources-dialog>article>footer { border-top:1px solid var(--color-border); border-bottom:0; }
.matter-summary-sources-dialog h2 { margin:5px 0 0; color:var(--color-primary); font:500 1.35rem var(--font-display); }
.matter-summary-sources-dialog [data-close] { padding:8px 11px; border:1px solid var(--color-border-strong); border-radius:var(--radius-control); background:#fff; color:var(--color-primary); }
.matter-summary-sources-dialog [data-source-content] { overflow:auto; padding:22px 24px; }
.matter-summary-source-overview,.matter-summary-source-claim { margin-bottom:24px; }
.matter-summary-source-overview>div { display:flex; flex-wrap:wrap; gap:7px; }
.matter-summary-source-overview>div>span { padding:5px 8px; border-radius:999px; background:var(--color-primary-soft); color:var(--color-primary); font-size:var(--text-xs); font-weight:750; }
.matter-summary-source-overview h3,.matter-summary-source-claim>h3 { margin:0 0 10px; color:var(--color-primary); font:600 1rem var(--font-display); }
.matter-summary-source-claim>h3 { line-height:1.55; }
.matter-summary-source-card { margin:10px 0; padding:14px; border:1px solid var(--color-border); border-radius:var(--radius-card); background:#fff; }
.matter-summary-source-card.role-contradicts { border-left:3px solid #b56a45; background:#fffaf7; }
.matter-summary-source-card.role-qualifies { border-left:3px solid #c29a49; }
.matter-summary-source-card>header { display:flex; justify-content:space-between; gap:12px; }
.matter-summary-source-card>header div { display:grid; gap:3px; }
.matter-summary-source-card small,.matter-summary-source-card time { color:var(--color-text-muted); font-size:var(--text-xs); }
.matter-summary-source-card>header>span { align-self:start; padding:3px 7px; border-radius:999px; background:var(--color-primary-soft); color:var(--color-primary); font-size:.65rem; font-weight:800; }
.matter-summary-source-card p { margin:12px 0; color:#46566b; font-size:.86rem; line-height:1.6; }
.matter-summary-source-card>button { padding:7px 10px; border:1px solid var(--color-border-strong); border-radius:8px; background:#fff; color:var(--color-primary); font-weight:750; }
.matter-summary-source-card>button:disabled { opacity:.5; }
.matter-summary-contradiction-note { margin:12px 0 0; padding:10px 12px; border-radius:8px; background:#fff4ec; color:#75472f; font-weight:700; line-height:1.5; }
.matter-summary-suggestion { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; padding:12px 14px; border:1px solid #ddc589; border-radius:var(--radius-control); background:#fff9e9; color:#72561d; }
.matter-summary-suggestion button { padding:7px 10px; border:1px solid #c7a85d; border-radius:8px; background:#fff; color:#6c5016; }
.matter-field-suggestion:has(.matter-summary-proposal-preview) { display:block; }
.matter-summary-proposal-preview { max-height:min(52vh,620px); margin:12px 0; padding:16px; overflow:auto; border:1px solid #e2d6b5; border-radius:10px; background:#fff; color:var(--color-text); }
.matter-summary-proposal-preview section,.matter-summary-proposal-preview aside { margin:0 0 13px; }
.matter-summary-proposal-preview p { margin:5px 0; }
.matter-summary-diff { margin:12px 0; padding:13px; border:1px solid var(--color-border); border-radius:10px; background:#fff; }
.matter-summary-diff>header { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; }
.matter-summary-diff>header>span { color:var(--color-text-muted); font-size:var(--text-xs); }
.matter-summary-diff p { display:grid; grid-template-columns:90px 1fr; gap:8px; margin:5px 0; padding:7px 9px; border-radius:7px; color:var(--color-text); }
.matter-summary-diff p.added { background:#eef8f1; }
.matter-summary-diff p.removed { background:#fff1ef; }
.matter-summary-diff p.protected { display:block; background:#fff7df; color:#72561d; font-weight:700; }
.matter-summary-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.matter-summary-version-history{position:relative;margin-left:auto;color:var(--color-text-muted)}.matter-summary-version-history summary{cursor:pointer;font-size:.7rem}.matter-summary-version-history div{position:absolute;right:0;z-index:5;width:min(440px,80vw);padding:12px;border:1px solid var(--color-border);border-radius:10px;background:#fff;box-shadow:var(--shadow-lg)}.matter-summary-version-history p{margin:4px 0;font-size:.65rem}
.matter-summary-next { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; border-left:4px solid #b58c3e; border-radius:0 var(--radius-card) var(--radius-card) 0; background:#fffaf0; }
.matter-summary-next h3 { margin:5px 0 2px; color:var(--color-primary); font:500 1.15rem var(--font-display); }
.matter-summary-next p { margin:0; color:var(--color-text-muted); font-size:var(--text-sm); }
.matter-summary-next>button { flex:0 0 auto; padding:10px 14px; border:0; border-radius:var(--radius-control); background:var(--color-primary); color:#fff; font-weight:750; }
.matter-summary-timeline>[data-summary-timeline] { display:grid; margin-top:18px; }
.matter-summary-timeline h4 { margin:18px 0 7px; color:#8b7656; font-size:var(--text-xs); letter-spacing:.07em; text-transform:uppercase; }
.matter-summary-timeline h4:first-child { margin-top:0; }
.matter-timeline-event { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 4px; border-bottom:1px solid var(--color-border); color:inherit; text-decoration:none; }
.matter-timeline-event>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--color-primary-soft); }
.matter-timeline-event>div { display:grid; gap:3px; }
.matter-timeline-event small,.matter-timeline-event time { color:var(--color-text-muted); font-size:var(--text-xs); }
.matter-timeline-event[href]:hover { background:var(--color-primary-soft); }
.matter-timeline-event { position:relative; }
.matter-timeline-event time { white-space:nowrap; }
.matter-timeline-payment>span { background:#e5f4e9; }
.matter-timeline-matter_created>div>b { color:var(--color-primary); }
.matter-timeline-mail-preview { display:none; position:absolute; z-index:20; top:calc(100% - 2px); left:46px; width:min(650px,calc(100% - 46px)); box-sizing:border-box; padding:18px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface,#fff); color:var(--color-text); box-shadow:0 12px 32px #0003; cursor:text; }
.matter-timeline-mail-preview strong,.matter-timeline-mail-preview small { display:block; margin-bottom:8px; }
.matter-timeline-mail-preview p { margin:0; max-height:320px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.6; }
.matter-timeline-event:hover>.matter-timeline-mail-preview,.matter-timeline-event:focus-within>.matter-timeline-mail-preview { display:block; }
.matter-timeline-event.preview-dismissed>.matter-timeline-mail-preview { display:none; }
.matter-timeline-full { box-shadow:none; }
.matter-emails-workspace>header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.matter-emails-workspace h2 { margin:5px 0; color:var(--color-primary); font:500 1.5rem var(--font-display); }
.matter-emails-workspace header p { margin:0; color:var(--color-text-muted); }
.matter-email-filters { display:flex; gap:8px; margin:20px 0 12px; overflow:auto; }
.matter-email-filters button { padding:8px 12px; border:1px solid var(--color-border); border-radius:999px; background:#fff; color:var(--color-text-muted); white-space:nowrap; }
.matter-email-filters button.active { border-color:var(--color-primary); background:var(--color-primary); color:#fff; }
.matter-email-timeline { display:grid; }
.matter-email-card { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; padding:18px 4px; border-bottom:1px solid var(--color-border); }
.matter-email-card>.email-direction { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--color-primary-soft); color:var(--color-primary); font-size:1.1rem; }
.matter-email-card.sent>.email-direction { background:#edf6f0; color:#347052; }
.matter-email-card>div>header { display:flex; justify-content:space-between; gap:14px; }
.matter-email-card header div { display:grid; gap:3px; }
.matter-email-card small,.matter-email-card time { color:var(--color-text-muted); font-size:var(--text-xs); }
.matter-email-card p { margin:10px 0; color:#526078; line-height:1.55; }
.matter-email-card-actions { display:flex; gap:8px; }
.matter-email-card-actions a,.matter-email-card-actions button { padding:7px 9px; border:1px solid var(--color-border); border-radius:8px; background:#fff; color:var(--color-primary); font-size:var(--text-xs); font-weight:750; text-decoration:none; }
.matter-email-card[role="button"] { cursor:pointer; }
.matter-email-card[role="button"]:hover,.matter-email-card[role="button"]:focus-visible { background:var(--color-primary-soft); outline:2px solid rgba(24,49,83,.14); outline-offset:1px; }
.matter-email-attachments { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.matter-email-attachment { padding:8px 10px; border-radius:8px; background:var(--color-surface-subtle); color:var(--color-primary); font-size:var(--text-xs); text-decoration:none; }
.matter-document-workspace>header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.matter-document-workspace h2 { margin:5px 0; color:var(--color-primary); font:500 1.5rem var(--font-display); }
.matter-document-workspace header p { margin:0; color:var(--color-text-muted); }
.matter-document-layout { display:grid; grid-template-columns:minmax(230px,38%) minmax(0,1fr); gap:18px; }
.matter-document-navigation { min-width:0; overflow-x:auto; overscroll-behavior-inline:contain; padding-bottom:6px; }
.matter-document-folders { display:flex; align-items:stretch; gap:9px; min-width:min-content; }
.matter-document-column { display:flex; flex:0 0 210px; flex-direction:column; gap:7px; padding:9px; border:1px solid var(--color-border); border-radius:12px; background:#f7f9fc; }
.matter-document-column> b { padding:2px 4px 7px; color:var(--color-text-muted); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.matter-document-folders button { display:grid; grid-template-columns:22px minmax(0,1fr) auto 12px; align-items:center; gap:7px; padding:10px; border:1px solid var(--color-border); border-radius:9px; background:#fff; color:var(--color-text); text-align:left; }
.matter-document-folders button i { color:var(--color-text-muted); font-size:1.15rem; font-style:normal; }
.matter-document-folders button.active { border-color:var(--color-primary); background:var(--color-primary-soft); color:var(--color-primary); }
.matter-document-folders small { color:var(--color-text-muted); }
.matter-document-content { min-width:0; }
.matter-document-content>.contextual-document-intake { margin-bottom:18px; }
.document-family-suggestions{margin:0 0 18px;padding:16px;border:1px solid #d6e1ee;border-radius:14px;background:#f7fafe}.document-family-suggestions>header h3{margin:3px 0;color:#243e63}.document-family-suggestions>div{display:grid;gap:9px;margin-top:10px}.document-family-suggestion{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border:1px solid #e0e7f0;border-radius:11px;background:#fff}.document-family-suggestion>div:first-child{display:grid;gap:3px}.document-family-suggestion small,.document-family-suggestion span{color:#6d7b90;font-size:.76rem}.document-family-suggestion>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.document-family-suggestion button{padding:7px 10px;border:1px solid #c8d5e5;border-radius:8px;background:#fff;color:#29466f;font-weight:700}.document-family-suggestion button.screen-action{background:#294b75;color:#fff}@media(max-width:760px){.document-family-suggestion{align-items:flex-start;flex-direction:column}}
.matter-document-content>header { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--color-border); }
.matter-document-content h3 { margin:0; color:var(--color-primary); }
.matter-document-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:5px; color:var(--color-text-muted); }
.matter-document-breadcrumb button { padding:0; border:0; background:transparent; color:var(--color-primary); font:inherit; font-weight:800; cursor:pointer; }
.matter-document-breadcrumb button:hover { text-decoration:underline; }
.matter-document-rows { display:grid; }
.matter-document-row { display:grid; grid-template-columns:34px minmax(0,1fr) 110px auto auto; align-items:center; gap:10px; padding:13px 4px; border-bottom:1px solid var(--color-border); }
.matter-document-row>div { display:grid; gap:3px; }
.matter-document-row small,.matter-document-row time { color:var(--color-text-muted); font-size:var(--text-xs); }
.matter-document-row button { padding:7px 9px; border:1px solid var(--color-border); border-radius:8px; background:#fff; color:var(--color-primary); }
.matter-document-row { grid-template-columns:24px 34px minmax(0,1fr) 110px 42px; border-radius:9px; cursor:default; user-select:none; }
.matter-document-row:hover { background:#f6f8fb; }
.matter-document-row[aria-selected="true"] { background:#e6f0fb; box-shadow:inset 0 0 0 1px #aac4df; }
.matter-document-pending { border-color:#c9d8e8; background:#f3f7fb; cursor:default; }
.matter-document-pending.error { border-color:#e1c397; background:#fff8ec; }
.matter-document-pending-spinner { width:16px; height:16px; border:2px solid #b9c9dc; border-top-color:var(--color-primary); border-radius:50%; animation:matter-document-pending-spin .8s linear infinite; }
.matter-document-pending.error .matter-document-pending-spinner { animation:none; border-color:#b57932; }
@keyframes matter-document-pending-spin { to { transform:rotate(360deg); } }
.matter-document-check { width:18px; height:18px; margin:0; accent-color:#315984; cursor:pointer; }
.matter-document-icon { font-size:1.25rem; }
.matter-document-folders button.drop-target { border-color:#315984; background:#dcecff; box-shadow:0 0 0 3px rgba(49,89,132,.15); transform:translateX(3px); }
.matter-document-context { position:fixed; z-index:1000; display:grid; width:220px; margin:0; padding:6px; border:1px solid #d5dde7; border-radius:11px; background:rgba(255,255,255,.98); box-shadow:0 18px 50px rgba(18,38,63,.22); backdrop-filter:blur(14px); }
.matter-document-context[hidden] { display:none; }
.matter-document-context button { min-height:36px; padding:8px 10px; border:0; border-radius:7px; background:transparent; color:#183153; text-align:left; }
.matter-document-context button:hover,.matter-document-context button:focus-visible { background:#edf3fa; outline:0; }
.matter-document-toast { position:fixed; z-index:1100; right:24px; bottom:24px; display:flex; align-items:center; gap:18px; max-width:min(520px,calc(100vw - 32px)); padding:13px 15px; border:1px solid #bfd6c8; border-radius:12px; background:#f3fbf6; color:#28563b; box-shadow:0 14px 40px rgba(18,38,63,.18); }
.matter-document-toast button { padding:7px 10px; border:1px solid #85aa94; border-radius:8px; background:#fff; color:#28563b; font-weight:800; }
.matter-document-content>header>div { display:flex; align-items:center; gap:10px; }
.matter-document-content [data-move-selected] { padding:8px 11px; border:1px solid var(--color-primary); border-radius:8px; background:var(--color-primary); color:#fff; font-weight:800; }
.document-move-dialog { width:min(560px,calc(100vw - 32px)); padding:0; border:0; border-radius:16px; color:var(--color-text); box-shadow:0 28px 90px rgba(18,38,63,.32); }
.document-move-dialog::backdrop { background:rgba(12,25,43,.55); backdrop-filter:blur(2px); }
.document-move-dialog form { display:grid; gap:16px; padding:22px; }
.document-move-dialog header,.document-move-dialog footer { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.document-move-dialog h2 { margin:4px 0 0; color:var(--color-primary); font:500 1.4rem var(--font-display); }
.document-move-dialog header>button { border:0; background:transparent; font-size:1.5rem; }
.document-move-dialog fieldset { padding:0; border:0; }
.document-move-dialog legend { margin-bottom:8px; color:var(--color-text-muted); font-size:var(--text-sm); font-weight:800; }
.document-move-dialog [data-folders] { display:grid; max-height:340px; overflow:auto; border:1px solid var(--color-border); border-radius:11px; }
.document-move-dialog [data-folders] label { display:grid; grid-template-columns:22px 28px 1fr; align-items:center; gap:8px; min-height:48px; padding:9px 12px; border-bottom:1px solid var(--color-border); cursor:pointer; }
.document-move-dialog [data-folders] label:last-child { border-bottom:0; }
.document-move-dialog [data-folders] label:has(input:checked) { background:var(--color-primary-soft); color:var(--color-primary); }
.document-move-dialog [data-status] { min-height:1.2em; margin:0; color:#8b4c22; font-size:var(--text-sm); }
.document-move-dialog footer { align-items:center; justify-content:flex-end; padding-top:8px; border-top:1px solid var(--color-border); }
.document-move-dialog footer button { padding:9px 12px; border:1px solid var(--color-border); border-radius:8px; background:#fff; color:var(--color-primary); }
.document-category-dialog { width:min(500px,calc(100vw - 32px)); }
.document-category-dialog .document-category-name { display:grid; gap:7px; color:var(--color-primary); font-size:var(--text-sm); font-weight:800; }
.document-category-dialog .document-category-name input { width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid var(--color-border-strong); border-radius:var(--radius-control); color:var(--color-text); font:inherit; }
.document-category-dialog form>p:not([data-status]) { margin:0; color:var(--color-text-muted); font-size:var(--text-sm); }
.matter-billing>header { margin-bottom:16px; }
.matter-billing h2 { margin:5px 0; color:var(--color-primary); font:500 1.5rem var(--font-display); }
.matter-billing>header p { margin:0; color:var(--color-text-muted); }
.matter-billing-part { margin-top:20px; padding-top:18px; border-top:1px solid var(--color-border); }
.matter-billing-part>header h3 { margin:0 0 12px; color:var(--color-primary); }
.matter-discussion-workspace { display:grid; min-height:580px; grid-template-rows:auto auto minmax(260px,1fr) auto; }
.matter-discussion-workspace h2 { margin:5px 0; color:var(--color-primary); font:500 1.5rem var(--font-display); }
.matter-discussion-workspace header p { margin:0; color:var(--color-text-muted); }
.matter-discussion-messages { display:flex; flex-direction:column; gap:12px; max-height:58vh; padding:18px 4px; overflow:auto; }
.matter-discussion-compose { display:grid; grid-template-columns:170px minmax(0,1fr) auto; align-items:end; gap:9px; padding-top:14px; border-top:1px solid var(--color-border); }
.matter-discussion-compose select,.matter-discussion-compose textarea { padding:10px; border:1px solid var(--color-border-strong); border-radius:var(--radius-control); font:inherit; }
.matter-discussion-compose textarea { resize:vertical; }
.matter-carla-workspace { display:grid; grid-template-rows:auto auto minmax(300px,1fr) auto auto; height:min(760px,calc(100vh - 170px)); min-height:620px; overflow:hidden; border:1px solid #d8c28d; border-radius:var(--radius-panel); background:#fff; }
.client-carla-workspace { height:min(720px,calc(100vh - 210px)); min-height:560px; }
.client-carla-matter-link { color:var(--color-primary); cursor:pointer; text-decoration:underline; text-decoration-color:#c7a85b; text-underline-offset:2px; }
.client-carla-matter-link:focus-visible { border-radius:3px; outline:2px solid var(--color-secondary); outline-offset:2px; }
.matter-carla-workspace>header { display:flex; align-items:center; gap:14px; padding:20px 22px; border-bottom:1px solid #eadfca; }
.matter-carla-mark { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; border-radius:14px; background:var(--color-primary); color:#e8cc91; font:500 1.35rem var(--font-display); }
.matter-carla-workspace h2 { margin:4px 0; color:var(--color-primary); font:500 1.45rem var(--font-display); }
.matter-carla-workspace header p { margin:0; color:var(--color-text-muted); }
.matter-carla-prompts { display:flex; gap:7px; padding:12px 18px; overflow:auto; border-bottom:1px solid var(--color-border); }
.matter-carla-prompts button { padding:8px 10px; border:1px solid #dac48f; border-radius:999px; background:#fffaf0; color:#72561d; white-space:nowrap; }
.matter-carla-thread { display:flex; flex-direction:column; gap:22px; min-height:0; padding:24px clamp(18px,4vw,54px) 34px; overflow:auto; scroll-behavior:smooth; }
.matter-carla-empty { align-self:stretch; min-height:220px!important; justify-content:start!important; align-content:start; padding-top:34px; text-align:left!important; }
.matter-carla-message { width:min(100%,900px); padding:0; color:#39485e; }
.matter-carla-message>header { display:flex; align-items:center; gap:9px; margin-bottom:8px; }
.matter-carla-message>header b { color:var(--color-primary); font-size:var(--text-sm); }
.matter-carla-message>header time { color:var(--color-text-subtle); font-size:var(--text-xs); }
.matter-carla-message.user { align-self:flex-end; width:min(88%,720px); padding:12px 15px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface-subtle); }
.matter-carla-message.user>header { margin-bottom:5px; }
.matter-carla-message.assistant { align-self:center; padding:18px 0 4px; border-top:1px solid #eadfca; background:transparent; }
.matter-carla-message-body { overflow-wrap:anywhere; font-size:.78rem; line-height:1.72; }
.matter-carla-message-body :is(p,ul,ol,blockquote) { margin:0 0 12px; }
.matter-carla-message-body :is(ul,ol) { padding-left:24px; }
.matter-carla-message-body li+li { margin-top:5px; }
.matter-carla-message-body :is(h3,h4) { margin:18px 0 8px; color:var(--color-primary); font-family:var(--font-display); font-weight:500; }
.matter-carla-message-body h3 { font-size:1.08rem; }
.matter-carla-message-body h4 { font-size:.9rem; }
.matter-carla-message-body blockquote { padding:10px 14px; border-left:3px solid #c7a660; background:#fffaf0; color:var(--color-text-muted); }
.matter-carla-message-body code { padding:2px 5px; border-radius:4px; background:#edf1f5; font-size:.72rem; }
.matter-carla-message-body a { color:#285b8f; text-decoration:underline; text-underline-offset:2px; }
.matter-carla-table { max-width:100%; margin:12px 0 16px; overflow:auto; border:1px solid var(--color-border); border-radius:9px; }
.matter-carla-table table { width:100%; min-width:520px; border-collapse:collapse; }
.matter-carla-table :is(th,td) { padding:9px 11px; border-bottom:1px solid var(--color-border); text-align:left; }
.matter-carla-table th { background:var(--color-surface-subtle); color:var(--color-primary); }
.matter-carla-references { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:9px; margin-top:14px; }
.matter-carla-reference { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 13px; border:1px solid var(--color-border); border-radius:10px; background:#fff; }
.matter-carla-reference>div { display:grid; min-width:0; gap:3px; }
.matter-carla-reference small { color:#8a6828; font-size:.58rem; font-weight:850; text-transform:uppercase; }
.matter-carla-reference b { overflow:hidden; color:var(--color-primary); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.matter-carla-reference span,.matter-carla-reference p { margin:0; color:var(--color-text-muted); font-size:.61rem; line-height:1.45; }
.matter-carla-reference button,.matter-carla-actions button { padding:8px 10px; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:var(--color-primary); font-size:.62rem; font-weight:750; cursor:pointer; }
.matter-carla-reference button:hover,.matter-carla-actions button:hover { border-color:var(--color-primary); background:var(--color-primary-soft); }
.matter-carla-sources { display:flex; flex-wrap:wrap; gap:6px 10px; margin-top:13px; padding-top:10px; border-top:1px solid #edf0f4; color:var(--color-text-subtle); font-size:.61rem; }
.matter-carla-sources b { color:var(--color-text-muted); }
.matter-carla-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.matter-carla-workspace>form { position:sticky; bottom:0; z-index:3; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; padding:14px 18px; border-top:1px solid #eadfca; background:rgba(255,255,255,.97); box-shadow:0 -8px 24px rgba(25,42,65,.04); }
.matter-carla-workspace textarea { padding:11px 12px; border:1px solid var(--color-border-strong); border-radius:var(--radius-control); resize:vertical; font:inherit; }
.matter-carla-workspace textarea:disabled { background:#f3f5f7; cursor:wait; }
.matter-carla-workspace>.module-status { min-height:20px; margin:0; padding:0 18px 10px; color:var(--color-text-muted); font-size:var(--text-xs); }
.matter-quick-actions { align-content: start; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.matter-quick-actions-outside { grid-template-columns:repeat(7,minmax(130px,1fr)); margin:0 0 var(--space-5); padding:10px; overflow:visible; border:1px solid var(--color-border); border-radius:var(--radius-card); background:#fff; box-shadow:var(--shadow-sm); }
.matter-quick-actions-outside > button,.matter-quick-actions-outside .matter-actions-menu > summary { border-color:var(--color-border)!important; background:#f7f9fc!important; color:var(--color-primary)!important; }
.matter-quick-actions-outside > button:hover,.matter-quick-actions-outside .matter-actions-menu > summary:hover { background:var(--color-primary-soft)!important; }
.matter-quick-actions-outside .matter-action-primary { background:var(--color-primary)!important; color:#fff!important; }
.matter-quick-actions-outside .matter-action-carla { border-color:#d7b872!important; color:#76591f!important; }
.matter-quick-actions-outside button:focus-visible,.matter-quick-actions-outside .matter-actions-menu summary:focus-visible { outline-color:var(--color-primary); }
.matter-quick-actions > button, .matter-actions-menu > summary { display: flex; align-items: center; justify-content: flex-start; gap: 8px; min-height: 50px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.26) !important; border-radius: var(--radius-control); background: rgba(255,255,255,.09) !important; color: #fff !important; cursor: pointer; font: inherit; text-align:left; }
.matter-quick-actions > button:hover, .matter-actions-menu > summary:hover { background: rgba(255,255,255,.17) !important; }
.matter-quick-actions button:focus-visible, .matter-actions-menu summary:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.matter-quick-actions b,.matter-actions-menu>summary b { display:inline!important; min-width:0; overflow:visible; color:inherit!important; font-size:var(--text-sm)!important; line-height:1.2; opacity:1!important; visibility:visible!important; white-space:normal; }
.matter-quick-actions>button>span { flex:0 0 auto; font-size:1rem; }
.matter-quick-actions .matter-action-label { display:inline!important; flex:1 1 auto; min-width:0; overflow:visible; color:inherit!important; font-size:var(--text-sm)!important; font-weight:750; line-height:1.2; opacity:1!important; visibility:visible!important; white-space:normal; }
.matter-quick-actions .matter-action-icon { flex:0 0 auto; font-size:1rem; }
.matter-quick-actions-outside > button:not(.matter-action-primary) .matter-action-label { color:#172844!important; font-size:.72rem!important; font-weight:850!important; text-shadow:none!important; }
.matter-quick-actions-outside > button { min-width:0; background:#fff!important; }
.matter-quick-actions-outside > button.matter-action-primary { background:#173657!important; }
.matter-quick-actions-outside > button.matter-action-primary .matter-action-label { color:#fff!important; }
.matter-quick-actions .matter-action-primary { background: #fff !important; color: var(--color-primary) !important; }
.matter-quick-actions .matter-action-carla { border-color: #d7b872 !important; color: #fff5d9 !important; }
.matter-actions-menu { position: relative; }
.matter-actions-menu > summary { justify-content: space-between; list-style: none; }
.matter-actions-menu > summary::-webkit-details-marker { display: none; }
.matter-actions-menu > div { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; width: min(240px, 80vw); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-control); background: #fff; box-shadow: var(--shadow-lg); }
.matter-actions-menu button { width: 100%; padding: 11px 13px; border: 0 !important; border-bottom: 1px solid var(--color-border) !important; border-radius: 0 !important; background: #fff !important; color: var(--color-text) !important; text-align: left; }
.matter-actions-menu button:last-child { border-bottom: 0 !important; }
.matter-actions-menu button:hover { background: var(--color-primary-soft) !important; }
.matter-actions-menu .matter-delete-action { color:#9f2f2f!important; font-weight:700; }
.matter-actions-menu .matter-delete-action:hover { background:#fff0f0!important; }
.matter-quick-actions-outside > .matter-delete-action { border-color:#e3bcbc!important; background:#fff0f0!important; color:#9f2f2f!important; }
.matter-quick-actions-outside > .matter-delete-action:hover { background:#ffe2e2!important; }
.matter-document-folders .matter-folder-delete { margin:-5px 8px 7px 30px!important; padding:5px 8px!important; border:0!important; background:transparent!important; color:#9f2f2f!important; font-size:.72rem!important; text-align:left!important; }
.matter-document-folders .matter-folder-delete:hover { background:#fff0f0!important; }
.matter-folder-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.matter-folder-actions .matter-folder-delete { border:1px solid #e3bcbc!important; background:#fff0f0!important; color:#9f2f2f!important; }
.matter-next-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: var(--space-5); padding: 22px 24px; border: 1px solid #dbc48e; border-left: 5px solid #b58c3e; border-radius: var(--radius-card); background: linear-gradient(120deg,#fffaf0,#fff); box-shadow: var(--shadow-sm); }
.matter-next-action h2 { margin: 5px 0 3px; color: var(--color-primary); font: 500 1.35rem/1.25 var(--font-display); }
.matter-next-action p { margin: 0; color: var(--color-text-muted); font-size: var(--text-sm); }
.matter-next-action button,.matter-open-tasks header button { flex: 0 0 auto; padding: 10px 14px; border: 0; border-radius: var(--radius-control); background: var(--color-primary); color: #fff; font-weight: 750; cursor: pointer; }
.completion-percent { color: var(--color-success); font-size: 1.4rem; }
.completion-track { height: 11px; margin: 18px 0 12px; overflow: hidden; border-radius: 99px; background: #e6ebf0; }
.completion-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#397058,#65a27e); transition: width .25s ease; }
.completion-missing { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 16px; color: var(--color-text-muted); }
.completion-missing ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.completion-missing li { padding: 5px 8px; border-radius: 99px; background: #fff2dc; color: #82550b; font-size: var(--text-xs); font-weight: 700; }
.dossier-facts article.is-missing { background: #fffaf0; }
.dossier-facts article.is-missing b { color: #8a5700; }
.carla-alert-list { display: grid; gap: 7px; margin: 14px 0; padding: 0; list-style: none; }
.carla-alert-list li { padding: 8px 10px; border-radius: 8px; background: #fff3df; color: #81520a; font-size: var(--text-sm); font-weight: 700; }
.carla-alert-list li.success { background: #eaf5ee; color: #326147; }
.carla-proposals { margin: 14px 0; padding-top: 12px; border-top: 1px solid var(--color-border); }
.carla-proposals > small { color: var(--color-text-muted); font-weight: 750; text-transform: uppercase; }
.carla-proposals > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.carla-proposals button { padding: 7px 9px; }
.matter-open-tasks { margin-top: 18px; padding: 22px; border: 1px solid var(--color-border); border-radius: var(--radius-card); background: #fff; }
.matter-open-tasks > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.matter-open-tasks h3 { margin: 5px 0 0; color: var(--color-primary); font-family: var(--font-display); }
.matter-open-tasks > div { display: grid; margin-top: 14px; }
.matter-open-tasks > div > button { display: grid; grid-template-columns: 28px 1fr; gap: 9px; padding: 12px 4px; border: 0; border-top: 1px solid var(--color-border); background: transparent; color: var(--color-text); text-align: left; cursor: pointer; }
.matter-open-tasks > div > button:hover { background: var(--color-primary-soft); }
.matter-open-tasks > div > button div { display: grid; gap: 3px; }
.matter-open-tasks > div > button small { color: var(--color-text-muted); }
.prospect-actions .prospect-convert-primary { border-color: var(--color-success) !important; background: var(--color-success) !important; color: #fff !important; font-weight: 800; }
.prospect-actions .prospect-audio-primary { border-color: var(--color-primary) !important; background: var(--color-primary) !important; color: #fff !important; font-weight: 800; }
.prospect-conversion-status { min-height: 1.2em; margin: 9px 0 0; color: var(--color-text-muted); font-size: var(--text-sm); }
.matter-tabs, .task-periods { scrollbar-width: thin; }
.matter-tabs button, .task-periods button { min-height: 38px; border-color: var(--color-border) !important; border-radius: 999px !important; background: #fff !important; color: var(--color-text-muted) !important; }
.matter-tabs button.active, .task-periods button.active { background: var(--color-primary) !important; color: #fff !important; }
.task-card { border-color: var(--color-border) !important; border-radius: var(--radius-card) !important; box-shadow: var(--shadow-sm); }
.task-card:hover { border-color: var(--color-border-strong) !important; box-shadow: var(--shadow-md) !important; }
.kanban-column { border-color: var(--color-border) !important; border-radius: var(--radius-card) !important; background: #edf1f5 !important; }
.outlook-mailbox { overflow: hidden; border: 1px solid var(--color-border) !important; border-radius: var(--radius-panel) !important; box-shadow: var(--shadow-sm) !important; }
.outlook-folders { background: #f4f7fa !important; }
.outlook-folders nav button { border-radius: 8px !important; }
.outlook-folders nav button.active { background: var(--color-primary-soft) !important; color: var(--color-primary) !important; }
.outlook-mail-row.active { background: var(--color-primary-soft) !important; box-shadow: inset 3px 0 var(--color-primary); }
.document-intake-drop { border-color: var(--color-border-strong) !important; border-radius: var(--radius-panel) !important; background: var(--color-surface-subtle) !important; }
.document-intake-drop:hover { border-color: var(--color-info) !important; background: var(--color-info-soft) !important; }
.billing-metrics article { border-color: var(--color-border) !important; border-radius: var(--radius-card) !important; box-shadow: var(--shadow-sm); }
.billing-start { border-color: var(--color-border) !important; border-radius: var(--radius-panel) !important; background: linear-gradient(135deg, #fafbfd, var(--color-primary-soft)) !important; }
.notification-center { border-color: var(--color-border) !important; border-radius: var(--radius-panel) !important; box-shadow: var(--shadow-lg) !important; }
.notification-toggle { min-width: 42px; min-height: 40px; border-color: var(--color-border) !important; border-radius: var(--radius-control) !important; }
.topbar{display:flex!important;align-items:center!important;gap:14px!important}.topbar .global-search{min-width:180px;flex:1}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 0 auto;min-width:0}.topbar-actions .connection{display:flex;align-items:center;gap:8px}.topbar-actions .global-client-create{white-space:nowrap}
.carla-dock { border-radius: 999px !important; background: var(--color-primary) !important; box-shadow: 0 12px 30px rgba(24,49,83,.26) !important; }

/* Authentication */
.auth-gate { background: radial-gradient(circle at 50% 20%, #fff 0, #eef2f6 48%, #e2e8ef 100%) !important; }
.auth-card { width: min(440px, calc(100vw - 32px)) !important; padding: var(--space-8) !important; border: 1px solid rgba(255,255,255,.75) !important; border-radius: 20px !important; background: rgba(255,255,255,.92) !important; box-shadow: var(--shadow-lg) !important; backdrop-filter: blur(18px); }
.auth-card h1 { color: var(--color-primary) !important; font-family: var(--font-display) !important; font-weight: 400 !important; }

/* Responsive and motion preferences */
@media (max-width: 1180px) {
  .app-breadcrumb { display: none; }
  .global-search { width: min(360px, 35vw) !important; }
  .connection { font-size: 0; }
  .matter-dashboard-header { height:auto; min-height:190px; }
  .matter-quick-actions-outside { grid-template-columns:repeat(4,minmax(145px,1fr)); }
}
@media (max-width: 760px) {
  .matter-next-action { align-items: stretch; flex-direction: column; }
  .matter-next-action button { width: 100%; }
  .matter-open-tasks > header { align-items: stretch; flex-direction: column; }
  .matter-header-facts { grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); }
  .matter-summary-card>header,.matter-summary-timeline>header,.matter-summary-next { align-items:stretch; flex-direction:column; }
  .matter-summary-card>header button,.matter-summary-timeline>header button,.matter-summary-next>button { width:100%; }
  .matter-summary-body { max-width:none; margin-top:24px; line-height:1.72; }
  .matter-summary-body p { text-align:left; hyphens:none; }
  .matter-summary-sources-dialog { width:100vw; }
  .matter-timeline-event { grid-template-columns:38px minmax(0,1fr); }
  .matter-timeline-event time { grid-column:2; }
  .matter-emails-workspace>header,.matter-document-workspace>header { align-items:stretch; flex-direction:column; }
  .matter-document-layout { grid-template-columns:1fr; }
  .matter-document-navigation { max-width:100%; }
  .matter-document-folders { display:flex; }
  .matter-document-column { flex-basis:min(78vw,240px); }
  .matter-document-content>header { align-items:stretch; flex-direction:column; }
  .matter-document-content>header>div:last-child { flex-wrap:wrap; }
  .matter-document-row { grid-template-columns:24px 30px minmax(0,1fr); }
  .matter-document-row>time,.matter-document-row>button { grid-column:3; }
  .matter-discussion-compose,.matter-carla-workspace>form { grid-template-columns:1fr; }
  .matter-carla-message { max-width:94%; }
}

@media (max-width: 760px) {
  .matter-carla-workspace { height:calc(100dvh - 120px); min-height:560px; }
  .matter-carla-thread { padding:18px 14px 26px; }
  .matter-carla-message,.matter-carla-message.user { width:100%; max-width:100%; }
  .matter-carla-references { grid-template-columns:1fr; }
  .matter-carla-workspace>form { grid-template-columns:1fr; }
  .matter-carla-workspace>form button { width:100%; }
}
@media (max-width: 900px) {
  .matter-header-facts { grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); }
  .matter-quick-actions-outside { grid-template-columns:repeat(3,minmax(145px,1fr)); }
}
@media (max-width: 760px) {
  .primary-sidebar { z-index: 50 !important; width: min(292px, 88vw) !important; box-shadow: 18px 0 50px rgba(8,22,39,.28); }
  .app-shell { margin-left: 0 !important; padding: 84px 16px 60px !important; }
  .topbar { left: 0; height: 64px; padding: 0 14px !important; gap: 8px !important; }
  .mobile-menu { display: grid !important; place-items: center; flex: 0 0 40px; height: 40px; border: 1px solid var(--color-border); border-radius: 9px; background: #fff; color: var(--color-primary); }
  .global-search { width: auto !important; min-width: 0; flex: 1; }
  .global-client-create { white-space: nowrap; }
  #global-client-create { width: 40px; padding: 0 !important; overflow: hidden; font-size: 0 !important; }
  #global-client-create::before { content: "+"; font-size: 1.2rem; }
  .connection { display: none !important; }
  .ui-size-controls { display: none; }
  .screen-heading, .dashboard-heading { align-items: flex-start !important; flex-direction: column !important; margin-bottom: var(--space-5) !important; }
  .screen-heading > :last-child { width: 100%; }
  .client-heading-actions { justify-content: flex-start !important; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .metric-card { min-height: 112px; }
  .dashboard-grid { grid-template-columns: 1fr !important; }
  .matter-dashboard-header { height:auto; min-height:190px; padding:18px 16px; border-radius: var(--radius-card); }
  .matter-header-facts { grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:8px; }
  .matter-quick-actions-outside { grid-template-columns:repeat(2,minmax(0,1fr)); }
  :where(.task-dialog, .billing-dialog) form, .client-create-shell { padding: var(--space-5) !important; }
}

/* Premium legal agenda — layout and navigation only. */
[data-screen="calendar"] { max-width: none; }
@media (min-width: 761px) {
  .portal-shell {
    grid-template-columns: 272px minmax(0,1fr);
  }
  body:not(.mailbox-mode) .app-shell {
    min-width: 0;
    margin-left: 0 !important;
    padding-right: clamp(16px,1.5vw,24px) !important;
    padding-left: clamp(16px,1.5vw,24px) !important;
  }
  body:not(.mailbox-mode) .topbar {
    padding-right: clamp(16px,1.5vw,24px) !important;
    padding-left: clamp(16px,1.5vw,24px) !important;
  }
  body.mailbox-mode .portal-shell {
    grid-template-columns: 72px minmax(0,1fr);
  }
}
body:has([data-screen="calendar"]:not([hidden])) .app-shell {
  padding-top: 76px !important;
}
.calendar-shell {
  display: grid !important; grid-template-columns: clamp(176px,17%,204px) minmax(0,1fr) !important;
  gap: 10px !important; align-items: start; min-height: calc(100vh - 164px);
  transition: grid-template-columns var(--transition-base);
}
.calendar-shell.sidebar-collapsed { grid-template-columns: 54px minmax(0,1fr) !important; }
.calendar-sidebar {
  position: sticky !important; top: 82px !important; display: grid !important; gap: 0 !important;
  max-height: calc(100vh - 98px); padding: 0 !important; overflow: auto;
  border: 1px solid var(--color-border); border-radius: 12px !important; background: #fff;
  box-shadow: var(--shadow-sm) !important;
}
.calendar-sidebar-heading { min-height: 55px; padding: 10px 12px; border-bottom: 1px solid var(--color-border); }
.calendar-sidebar-heading > div { display: grid; gap: 1px; }
.calendar-sidebar-heading b { color: var(--color-primary); font-size: .82rem; }
.calendar-sidebar-heading button { width: 30px; height: 30px; border: 1px solid var(--color-border) !important; background: #fff !important; }
.calendar-sidebar > section { padding: 13px 14px; border-bottom: 1px solid #edf0f4; }
.calendar-sidebar > section > header { margin-bottom: 7px !important; }
.calendar-sidebar > section > header b { font-size: .67rem; letter-spacing: .02em; }
.calendar-sidebar label { min-height: 29px; padding: 3px 0 !important; }
.calendar-sidebar input[type="checkbox"] { accent-color: var(--color-primary); }
.calendar-search { display: grid !important; gap: 6px !important; padding: 13px 14px !important; }
.calendar-search span { color: var(--color-primary); font-size: .67rem; }
.calendar-search input { width: 100%; min-height: 36px !important; padding: 7px 9px !important; font-size: .68rem; }
.mini-calendar-toolbar { display: grid; grid-template-columns: 27px 1fr 27px; align-items: center; gap: 4px; margin-bottom: 8px; }
.mini-calendar-toolbar b { color: var(--color-primary); font-size: .68rem; text-align: center; text-transform: capitalize; }
.mini-calendar-toolbar button,.mini-calendar-today { border: 0; border-radius: 6px; background: transparent; color: var(--color-primary); font-size: .66rem; font-weight: 750; }
.mini-calendar-toolbar button { width: 27px; height: 27px; padding: 0; }
.mini-calendar-toolbar button:hover,.mini-calendar-today:hover { background: var(--color-primary-soft); }
.mini-calendar { display: grid; grid-template-columns: repeat(7,1fr); gap: 2px; }
.mini-calendar-weekday { padding: 3px 0; color: var(--color-text-subtle); font-size: .55rem; font-weight: 800; text-align: center; }
.mini-calendar button { aspect-ratio: 1; min-width: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #3f5065; font-size: .61rem; }
.mini-calendar button:hover { background: #edf2f7; }
.mini-calendar button.outside { color: #adb5c0; }
.mini-calendar button.today { box-shadow: inset 0 0 0 1px var(--color-secondary); color: var(--color-primary); font-weight: 850; }
.mini-calendar button.selected { background: var(--color-primary); color: #fff; box-shadow: none; }
.mini-calendar-today { width: 100%; margin-top: 7px; padding: 6px; }
.calendar-shell.sidebar-collapsed .calendar-sidebar { overflow: hidden; }
.calendar-shell.sidebar-collapsed .calendar-sidebar-heading { padding-inline: 10px; }
.calendar-shell.sidebar-collapsed .calendar-sidebar-heading > div,
.calendar-shell.sidebar-collapsed .calendar-sidebar > section,
.calendar-shell.sidebar-collapsed .calendar-search { display: none !important; }
.calendar-main { min-width: 0; padding: 8px; border: 1px solid var(--color-border); border-radius: 12px; background: #fff; box-shadow: var(--shadow-md); }
.calendar-commandbar { gap: 12px; margin-bottom: 10px !important; }
.calendar-commandbar > div:first-child { flex-shrink: 0; }
.calendar-command-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 0; }
.calendar-command-actions > .screen-action { white-space: nowrap; }
.calendar-views { width: auto !important; max-width: 100%; margin: 0 !important; overflow-x: auto; white-space: nowrap; }
.calendar-views button { padding: 7px 10px !important; font-size: .64rem; }
.calendar-grid.week,.calendar-grid.workweek { width: 100%; min-width: 730px; }
.calendar-grid.week { grid-template-columns: 48px repeat(7,minmax(0,1fr)); }
.calendar-grid.workweek { grid-template-columns: 58px repeat(5,minmax(125px,1fr)); grid-template-rows: auto 780px; }
.calendar-grid.workweek .calendar-day { position: relative; min-height: 780px; padding: 0 5px; background-color: #fff; background-image: repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#edf0f4 30px); }
.calendar-grid.workweek .calendar-day > header { display: none; }
.calendar-grid.workweek .calendar-event { position: absolute; right: 5px; left: 5px; z-index: 2; overflow: hidden; margin: 0; background: color-mix(in srgb,var(--event-color) 13%,white); }
.calendar-hover-card{position:fixed;z-index:120;width:min(330px,calc(100vw - 24px));padding:14px 15px;border:1px solid #cfd9e4;border-radius:11px;background:rgba(255,255,255,.98);color:#263a57;box-shadow:0 18px 48px rgba(18,38,63,.22);pointer-events:none;animation:calendarHoverIn .12s ease-out}.calendar-hover-card header{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:9px}.calendar-hover-card header>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#edf2f7}.calendar-hover-card header div{display:grid;gap:3px}.calendar-hover-card header b{font-size:.7rem;line-height:1.35}.calendar-hover-card header small{color:#718095;font-size:.58rem;line-height:1.4}.calendar-hover-card dl{display:grid;gap:0;margin:10px 0 0}.calendar-hover-card dl>div{display:grid;grid-template-columns:58px 1fr;gap:8px;padding:6px 0;border-top:1px solid #edf0f4}.calendar-hover-card dt{color:#7f8b9b;font-size:.56rem}.calendar-hover-card dd{margin:0;overflow-wrap:anywhere;font-size:.61rem;font-weight:700}.calendar-hover-hint{display:block;margin-top:9px;color:#8c744a;font-size:.54rem;font-weight:750}@keyframes calendarHoverIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.calendar-commandbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:3px 2px 10px;border-bottom:1px solid var(--color-border)}.calendar-commandbar>div:first-child{display:flex;align-items:center;gap:6px}.calendar-commandbar>div:first-child b{font-size:.88rem}.calendar-main>.module-status{margin:0 2px 8px!important;color:#66758a;font-size:.64rem}.calendar-weekday{color:#53647a!important;font-weight:800!important;border-bottom:1px solid #dce3eb}.calendar-weekday.today{background:#edf3f8!important;color:#18385f!important;box-shadow:inset 0 -2px var(--color-secondary)}.calendar-day{border-right:1px solid #e0e6ed}.calendar-day.today{background-color:#f6f9fc!important}.calendar-time-rail{border-right:1px solid #dbe2ea!important;background:#f4f6f8!important}.calendar-time-rail span{color:#596a80!important;font-size:.57rem!important;font-weight:700}.calendar-grid.week .calendar-event,.calendar-grid.workweek .calendar-event,.calendar-grid.day .calendar-event{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-content:start!important;column-gap:5px!important;padding:4px 6px!important;border:1px solid color-mix(in srgb,var(--event-color) 35%,#d5dde6)!important;border-left:4px solid var(--event-color)!important;border-radius:6px!important;background:color-mix(in srgb,var(--event-color) 15%,white)!important;box-shadow:0 2px 7px rgba(24,49,83,.08)!important}.calendar-grid .calendar-event time{grid-row:auto!important;color:#30445f!important;font-size:.59rem!important;font-weight:850!important;line-height:1.25}.calendar-grid .calendar-event b{min-width:0;overflow:hidden;color:#1d304d!important;font-size:.62rem!important;font-weight:800!important;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-grid .calendar-event span{grid-column:1/-1;overflow:hidden;color:#5e6d80!important;font-size:.55rem!important;text-overflow:ellipsis;white-space:nowrap}.calendar-grid .calendar-event-short{display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap}.calendar-grid .calendar-event-short time{flex:0 0 auto}.calendar-grid .calendar-event-short b{flex:1}.calendar-grid .calendar-event-short span{display:none!important}.calendar-grid .calendar-event-tall{grid-template-columns:1fr!important}.calendar-grid .calendar-event-tall time,.calendar-grid .calendar-event-tall b,.calendar-grid .calendar-event-tall span{grid-column:1}.calendar-grid .calendar-event:focus-visible{z-index:4;outline:3px solid rgba(41,70,111,.22);outline-offset:1px}.calendar-grid.month .calendar-event{min-height:27px;padding:5px 7px!important;border-left-width:3px!important}.workspace-header-actions .workspace-secondary{border:1px solid #cbd6e2;background:#fff;color:#29466f}
@media(max-width:900px){.calendar-shell,.calendar-shell.sidebar-collapsed{grid-template-columns:1fr !important}.calendar-sidebar{position:static !important;max-height:none}.calendar-shell.sidebar-collapsed{grid-template-columns:54px minmax(620px,1fr) !important}.calendar-commandbar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.calendar-shell.sidebar-collapsed{grid-template-columns:1fr !important}.calendar-shell.sidebar-collapsed .calendar-sidebar{display:none !important}.calendar-heading{align-items:flex-start !important;flex-direction:column}.calendar-main{padding:8px}}
@media (max-width: 480px) {
  .metric-grid { grid-template-columns: 1fr !important; }
  .metric-card { min-height: 104px; }
  .notification-toggle { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Premium visual direction v2 — deliberately distinct from the legacy UI. */
body { background: #eef1f4 !important; }
.primary-sidebar {
  width: 272px;
  padding: 24px 16px 18px;
  background:
    radial-gradient(circle at 16% 0, color-mix(in srgb, var(--user-theme) 35%, #fff0 65%), transparent 250px),
    linear-gradient(165deg, color-mix(in srgb, var(--user-theme) 92%, #fff) 0%, color-mix(in srgb, var(--user-theme) 72%, #000) 72%, color-mix(in srgb, var(--user-theme) 58%, #000) 100%) !important;
}
.product-mark { margin: 0 2px 20px; padding: 0 10px 22px !important; border-bottom: 1px solid rgba(255,255,255,.09); }
.product-mark .product-seal { width: 44px; height: 44px; border-radius: 13px !important; font-family: var(--font-display); font-size: 1.35rem; }
.product-mark b { font-family: var(--font-display); font-size: 1.28rem; font-weight: 400; }
.product-mark small { margin-top: 2px; letter-spacing: .035em; }
.primary-sidebar > nav:first-of-type::before {
  display: block; margin: 0 12px 8px; color: #7187a2; content: "ESPACE CABINET";
  font-size: .56rem; font-weight: 800; letter-spacing: .15em;
}
.sidebar-secondary::before {
  display: block; margin: 0 12px 8px; color: #7187a2; content: "CONFIGURATION";
  font-size: .56rem; font-weight: 800; letter-spacing: .15em;
}
.nav-item { min-height: 44px; margin-bottom: 2px; border: 1px solid transparent; }
.nav-item.active {
  border-color: rgba(255,255,255,.1) !important;
  background: linear-gradient(90deg, color-mix(in srgb, var(--user-theme) 56%, #fff 44%), rgba(255,255,255,.075)) !important;
  box-shadow: inset 3px 0 color-mix(in srgb, var(--user-theme) 42%, #fff), 0 6px 16px rgba(0,0,0,.08) !important;
}
.app-shell { margin-left: 272px !important; padding: 106px clamp(28px, 3.8vw, 64px) 80px !important; }
.topbar { left: 272px; height: 76px; background: rgba(250,251,252,.93) !important; }
.app-breadcrumb span { color: var(--color-secondary); font-weight: 750; }
.global-search { height: 44px; border: 0 !important; background: #edf1f5 !important; box-shadow: inset 0 0 0 1px rgba(24,49,83,.055) !important; }
.screen-heading, .dashboard-heading {
  min-height: 104px; align-items: center !important; margin-bottom: 28px !important; padding: 10px 4px 24px !important;
}
:where(.screen-heading, .dashboard-heading) h1 { font-size: clamp(2rem, 3.2vw, 2.75rem) !important; }

/* Dashboard becomes a true executive cockpit. */
.dashboard-heading {
  position: relative; min-height: 190px; margin: 0 0 24px !important; padding: 36px 40px !important;
  overflow: hidden; border: 0 !important; border-radius: 22px;
  background:
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.22), transparent 260px),
    linear-gradient(125deg, color-mix(in srgb, var(--user-theme) 88%, #000), color-mix(in srgb, var(--user-theme) 78%, #fff)) !important;
  box-shadow: 0 24px 55px color-mix(in srgb, var(--user-theme) 24%, transparent); color: #fff;
}
.dashboard-heading::after {
  position: absolute; right: -42px; bottom: -92px; width: 270px; height: 270px;
  border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: "";
  box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.018);
}
.dashboard-heading h1 { color: #fff !important; font-size: clamp(2.2rem, 4vw, 3.15rem) !important; }
.dashboard-heading p:not(.overline) { color: #d7e1ec !important; font-size: .92rem !important; }
.dashboard-heading time {
  position: relative; z-index: 1; align-self: flex-start; padding: 9px 13px; border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px; background: rgba(255,255,255,.08); color: #f2f6fa; font-size: .7rem; letter-spacing: .02em;
}
.dashboard-heading .overline { color: color-mix(in srgb, var(--user-theme) 18%, #fff) !important; }
.metric-grid { grid-template-columns: repeat(5, minmax(150px,1fr)) !important; }
.metric-card {
  position: relative; min-height: 154px; padding: 22px !important; overflow: hidden;
  border: 0 !important; border-radius: 17px !important; box-shadow: 0 8px 30px rgba(19,42,69,.08) !important;
}
.metric-card::before { top: 0 !important; right: auto !important; bottom: auto !important; left: 0 !important; width: 100% !important; height: 4px !important; }
.metric-card::after {
  display: grid; place-items: center; width: 34px; height: 34px; margin-top: 2px; border-radius: 10px;
  background: var(--color-primary-soft); color: var(--color-primary); content: "→"; font-size: .9rem;
}
.metric-card:nth-child(1)::before { background: #3d79a7 !important; }
.metric-card:nth-child(2)::before { background: #7965a9 !important; }
.metric-card:nth-child(3)::before { background: #bd8738 !important; }
.metric-card:nth-child(4)::before { background: #b4524c !important; }
.metric-card:nth-child(5)::before { background: #38816a !important; }
.metric-card strong { font-size: 2rem !important; line-height: 1; }
.metric-card small { margin-top: auto; }
.dashboard-panel, .urgency-wall { border: 0 !important; border-radius: 18px !important; box-shadow: 0 8px 30px rgba(19,42,69,.07) !important; }
.dashboard-panel > header { padding-bottom: 18px; border-bottom: 1px solid var(--color-border); }
.urgency-wall { background: linear-gradient(155deg, #fff, #f9f5ee) !important; }
.urgency-wall > .eyebrow { color: #a65b3d !important; }

/* Stronger, recognizable page surfaces. */
.screen-workspace:not(.dashboard) > .screen-heading::before {
  display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px;
  background: linear-gradient(145deg, var(--color-primary), #2b527c); color: #fff; content: "C";
  font-family: var(--font-display); font-size: 1.15rem; box-shadow: 0 9px 22px rgba(24,49,83,.18);
}
[data-screen="clients"] > .screen-heading::before { content: "Cl"; }
[data-screen="matters"] > .screen-heading::before { content: "§"; }
[data-screen="tasks"] > .screen-heading::before { content: "✓"; }
[data-screen="meetings"] > .screen-heading::before { content: "Rv"; }
[data-screen="calendar"] > .screen-heading::before { content: "31"; }
[data-screen="messaging"] > .screen-heading::before { content: "@"; }
[data-screen="documents"] > .screen-heading::before { content: "D"; }
[data-screen="billing"] > .screen-heading::before { content: "€"; }
.screen-heading > div:first-of-type { flex: 1; }
.client-directory-panel, .context-card, .matter-register-surface, .outlook-mailbox, .task-detail {
  border: 0 !important; box-shadow: 0 12px 36px rgba(19,42,69,.08) !important;
}
.client-directory-title { padding: 20px !important; background: linear-gradient(125deg, #173657, #28547d) !important; }
.client-summary-card { min-height: 580px; }
.outlook-mailbox { min-height: 680px; }
.matter-register-surface { border-radius: 18px !important; }
.billing-metrics article { min-height: 112px; border: 0 !important; box-shadow: 0 8px 25px rgba(19,42,69,.07) !important; }
.billing-metrics strong { font-size: 1.6rem !important; }
.professional-empty::before, .empty-state::before {
  display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 10px; border-radius: 14px;
  background: var(--color-primary-soft); color: var(--color-primary); content: "◇"; font-size: 1.2rem;
}

@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}
@media (max-width: 760px) {
  .primary-sidebar { width: min(292px,88vw) !important; }
  .app-shell { margin-left: 0 !important; padding: 84px 16px 60px !important; }
  .topbar { left: 0; height: 64px; }
  .dashboard-heading { min-height: 220px; align-items: flex-start !important; padding: 28px 24px !important; }
  .dashboard-heading time { align-self: flex-start; }
  .screen-workspace:not(.dashboard) > .screen-heading::before { display: none; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 480px) {
  .metric-grid { grid-template-columns: 1fr !important; }
}

/* Outlook-inspired four-pane mailbox with Carla legal context. */
[data-screen="messaging"] { max-width: none; }
[data-screen="messaging"] > .screen-heading { min-height: 78px !important; margin-bottom: 12px !important; padding-block: 0 14px !important; }
[data-screen="messaging"] > .screen-heading h1 { font-size: 2rem !important; }
.outlook-mailbox {
  display: grid !important;
  grid-template-columns: var(--mail-folders,190px) 5px var(--mail-list,340px) 5px minmax(390px,1fr) 5px var(--mail-context,300px) !important;
  height: calc(100vh - 196px); min-height: 590px; overflow: hidden;
  border: 1px solid #d7dee7 !important; border-radius: 14px !important;
  background: #fff; box-shadow: 0 18px 48px rgba(17,42,70,.1) !important;
}
.mailbox-resizer { position: relative; z-index: 10; width: 5px; height: 100%; cursor: col-resize; touch-action: none; background: #e1e6ed; transition: background .12s ease; }
.mailbox-resizer::after { position: absolute; top: 50%; left: 1px; width: 3px; height: 34px; border-radius: 3px; background: #b9c5d2; content: ""; transform: translateY(-50%); opacity: 0; }
.mailbox-resizer:hover, .mailbox-resizer:focus-visible, body.resizing-mailbox .mailbox-resizer { background: #b7cee3; }
.mailbox-resizer:hover::after, .mailbox-resizer:focus-visible::after, body.resizing-mailbox .mailbox-resizer::after { opacity: 1; }
body.resizing-mailbox { cursor: col-resize !important; user-select: none !important; }
.outlook-folders { display: flex !important; min-width: 0; padding: 12px 9px !important; border-right: 1px solid #dfe5ec !important; background: #f4f6f9 !important; }
.outlook-folders .outlook-new-mail { width: calc(100% - 8px) !important; min-height: 40px; margin: 2px 4px 14px !important; border-radius: 6px !important; background: #0f6cbd !important; box-shadow: 0 3px 8px rgba(15,108,189,.2) !important; }
.outlook-folders nav { display: block !important; overflow-y: auto; }
.outlook-folders nav > button { grid-template-columns: 20px minmax(0,1fr) auto !important; min-height: 36px; padding: 7px 9px !important; border-radius: 6px !important; color: #34465a !important; }
.outlook-folders nav > button:hover { background: #e7edf4 !important; }
.outlook-folders nav > button.active { background: #dcebf8 !important; color: #0f548c !important; box-shadow: inset 3px 0 #0f6cbd; }
.outlook-folder-group { margin: 3px 0; border-top: 1px solid #dfe5ec; }
.outlook-folder-group:first-child { border: 0; }
.outlook-folder-group .outlook-folder-collapse { grid-template-columns: 16px 1fr !important; min-height: 30px; padding: 5px 7px !important; color: #536479 !important; }
.outlook-folder-group .outlook-folder-collapse b { font-size: .64rem !important; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.outlook-folder-group-title { margin-top: 10px; padding-top: 7px; }
.outlook-folders footer { margin: auto 4px 2px; padding: 10px 8px; border-top: 1px solid #dfe5ec; color: #617187; font-size: .61rem; }

.outlook-message-list { min-width: 0; overflow: hidden; border-right: 1px solid #dfe5ec !important; background: #fff; }
.outlook-message-list > header { height: 64px; padding: 13px 15px !important; border-bottom: 0 !important; }
.outlook-message-list > header h2 { font-family: var(--font-sans) !important; font-size: 1rem !important; font-weight: 750 !important; }
.outlook-message-list > header button { width: 34px; height: 34px; border: 1px solid #dce3eb !important; border-radius: 6px !important; background: #fff !important; }
.outlook-commandbar { display: flex; align-items: center; gap: 5px; min-height: 38px; padding: 3px 11px; border-block: 1px solid #e5e9ef; background: #fafbfc; }
.outlook-commandbar button { min-height: 29px; padding: 5px 8px; border: 0; border-radius: 5px; background: transparent; color: #52647a; font-size: .66rem; }
.outlook-commandbar button:hover:not(:disabled) { background: #e8eef5; color: #0f548c; }
.outlook-message-list > label { margin: 10px 12px 7px !important; border: 1px solid #cbd5e0 !important; border-radius: 7px !important; background: #fff !important; }
.outlook-message-list > label:focus-within { border-color: #0f6cbd !important; box-shadow: 0 0 0 2px rgba(15,108,189,.14); }
.outlook-list-filter { display: block !important; min-height: 38px; padding: 2px 12px 7px !important; overflow-x: auto; }
.outlook-list-filter > span { display: none; }
.outlook-filter-chips { display: flex; gap: 4px; width: max-content; }
.outlook-filter-chips button { min-height: 27px; padding: 5px 8px !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; color: #68788c !important; font-size: .61rem !important; }
.outlook-filter-chips button.active { background: #e2effa !important; color: #0f548c !important; font-weight: 800; }
#outlook-mail-items { height: calc(100% - 190px); max-height: none !important; overflow-y: auto; overscroll-behavior: contain; }
.outlook-mail-row {
  grid-template-columns: 16px 34px minmax(0,1fr) auto !important; grid-template-rows: auto auto auto !important;
  min-height: 92px; padding: 12px 11px !important; column-gap: 8px !important;
  border-bottom: 1px solid #e8ecf1 !important; border-left: 3px solid transparent !important; background: #fff !important;
}
.outlook-mail-row:hover { background: #f5f8fb !important; }
.outlook-mail-row.active { border-left-color: #0f6cbd !important; background: #eaf3fb !important; box-shadow: none !important; }
.outlook-mail-row.selected { background: #e4f0fa !important; }
.outlook-select-mark { grid-row: 1/4; align-self: center; color: #8190a2; font-size: .77rem; }
.outlook-row-avatar { grid-column: 2 !important; grid-row: 1/4 !important; width: 32px !important; height: 32px !important; background: #dce9f5 !important; color: #174e7b !important; }
.outlook-mail-row .outlook-sender { grid-column: 3 !important; color: #24364b; font-size: .73rem; font-weight: 650; }
.outlook-mail-row time { grid-column: 4 !important; color: #77879a; font-size: .59rem; }
.outlook-mail-row > b { grid-column: 3/5 !important; overflow: hidden; color: #2e4055; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.outlook-mail-row > p { grid-column: 3/5 !important; font-size: .64rem !important; line-height: 1.35 !important; -webkit-line-clamp: 1 !important; }
.outlook-mail-row .outlook-row-flags { grid-column: 3/5 !important; }
.outlook-mail-row.unread { border-left-color: #0f6cbd !important; }
.outlook-mail-row.unread .outlook-sender, .outlook-mail-row.unread > b { font-weight: 850; }

.outlook-reading-pane { min-width: 0; overflow: auto; background: #fff !important; }
.outlook-reading-empty { height: 100%; min-height: 0 !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; }
.outlook-reading-empty {
  align-content: start !important; justify-items: start !important; min-height: 0 !important;
  padding: 30px 34px !important; color: #7c8999 !important; text-align: left !important;
}
.outlook-reading-empty > span {
  width: 38px !important; height: 38px !important; margin: 0 0 12px !important;
  border-radius: 10px !important; font-size: .95rem !important;
}
.outlook-reading-empty b { color: #34465a !important; font-size: .78rem !important; }
.outlook-reading-empty p { max-width: 300px; margin: 4px 0 !important; font-size: .65rem !important; line-height: 1.45; }
.outlook-open-message { min-height: 100% !important; }
.outlook-reading-actions { position: sticky; z-index: 3; top: 0; min-height: 52px; padding: 6px 12px !important; background: rgba(250,251,252,.96) !important; backdrop-filter: blur(12px); }
.outlook-reading-actions button { min-width: 54px !important; padding: 6px !important; }
.outlook-reading-actions button b { font-size: .52rem !important; }
.outlook-open-message > header { padding: 24px 26px 20px !important; }
.outlook-open-message > header h2 { font-family: var(--font-sans) !important; font-size: 1.15rem !important; font-weight: 720 !important; line-height: 1.35; }
.outlook-message-content { min-height: 210px !important; padding: 26px 30px !important; color: #27394e !important; font-size: .78rem !important; line-height: 1.72 !important; }
.outlook-message-content:has(.outlook-html-message) { height: min(560px,calc(100vh - 310px)); padding: 0 !important; overflow: hidden; }
.outlook-message-content:has(.outlook-image-privacy) { display: grid; grid-template-rows: auto minmax(0,1fr); }
.outlook-html-message { width: 100%; height: 100%; min-height: 0; border: 0; background: #fff; }
.outlook-image-privacy { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 7px 12px; border-bottom: 1px solid #e5d5b8; background: #fff8e9; color: #76591f; font-size: .62rem; }
.outlook-image-privacy button { min-height: 27px; padding: 4px 9px; border: 1px solid #d8bd87; border-radius: 6px; background: #fff; color: #6f5118; font-size: .61rem; font-weight: 750; }
.outlook-content-warning { margin-top: 18px; padding: 9px; border-radius: 7px; background: var(--color-warning-soft); color: var(--color-warning); font-size: .65rem; }
.outlook-attachment-area { margin: 0 26px 26px !important; padding: 14px !important; border-color: #dce4ed !important; background: #f7f9fb !important; }
.outlook-attachment-placeholder { margin-top: 10px; padding: 10px; border: 1px dashed #cbd5df; border-radius: 7px; color: #718196; font-size: .65rem; }
.outlook-attachment-placeholder:has(.outlook-attachment-card) { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 8px; padding: 0; border: 0; }
.outlook-attachment-card { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid #d7e0e9; border-radius: 8px; background: #fff; }
.outlook-attachment-card > span { color: #174e7b; font-size: 1.1rem; }
.outlook-attachment-card div { display: grid; min-width: 0; }
.outlook-attachment-card b { overflow: hidden; color: #2b3e54; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.outlook-attachment-card small { color: #77879a; font-size: .56rem; }
.outlook-attachment-card a { padding: 6px 8px; border-radius: 6px; background: #eaf3fb; color: #0f548c; font-size: .58rem; font-weight: 750; text-decoration: none; }
.outlook-attachment-card em { color: #8a6424; font-size: .56rem; }

.outlook-carla-context { min-width: 0; overflow: auto; border-left: 1px solid #dce3eb; background: #f7f9fc; transition: width .2s ease, opacity .2s ease; }
.outlook-carla-context > header { position: sticky; z-index: 3; top: 0; display: flex; align-items: center; gap: 9px; height: 64px; padding: 12px 14px; border-bottom: 1px solid #dce3eb; background: rgba(247,249,252,.96); backdrop-filter: blur(10px); }
.carla-context-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(145deg,#173657,#2d5a83); color: #fff; font-family: Georgia,serif; }
.outlook-carla-context header small { display: block; color: #a17942; font-size: .52rem; font-weight: 850; letter-spacing: .1em; }
.outlook-carla-context header h2 { margin: 1px 0 0; font-family: Georgia,serif; font-size: 1rem; font-weight: 400; }
.outlook-carla-context header button { margin-left: auto; border: 0; background: transparent; color: #68788c; font-size: 1.3rem; }
#carla-context-content { padding: 14px; }
.carla-context-empty { display: grid; place-items: center; min-height: 390px; color: #718095; text-align: center; }
.carla-context-empty > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #e8eef6; color: #1c4b75; font-size: 1.25rem; }
.carla-context-empty b { margin-top: 10px; color: #263a52; }
.carla-context-empty p { max-width: 220px; margin: 3px 0; font-size: .68rem; }
.carla-context-identity { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid #dce4ed; border-radius: 11px; background: #fff; }
.carla-context-avatar { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 50%; background: #dce9f5; color: #174e7b; font-size: .7rem; font-weight: 850; }
.carla-context-identity small { color: #8a6b3f; font-size: .5rem; font-weight: 850; letter-spacing: .08em; }
.carla-context-identity h3 { margin: 2px 0; font-size: .76rem; }
.carla-context-identity p { margin: 0; color: #718095; font-size: .6rem; }
.carla-context-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 10px; }
.carla-context-stats span { display: grid; gap: 2px; padding: 11px; border: 1px solid #e0e6ee; border-radius: 9px; background: #fff; }
.carla-context-stats strong { color: #173657; font: 400 1.05rem Georgia,serif; }
.carla-context-stats small { color: #76869a; font-size: .56rem; }
.carla-context-suggestion { margin-top: 10px; padding: 13px; border: 1px solid #dfd2bb; border-radius: 11px; background: linear-gradient(145deg,#fffdf9,#f7f0e4); }
.carla-context-suggestion > span { color: #8c6833; font-size: .52rem; font-weight: 850; letter-spacing: .08em; }
.carla-context-suggestion p { color: #4f5968; font-size: .66rem; line-height: 1.5; }
.carla-context-suggestion div { display: grid; gap: 6px; }
.carla-context-suggestion button { min-height: 34px; border: 0; border-radius: 7px; background: #173657; color: #fff; font-size: .62rem; font-weight: 750; }
.carla-context-suggestion button.secondary { border: 1px solid #d2dae4; background: #fff; color: #274561; }
.carla-context-related { margin-top: 14px; }
.carla-context-related h3 { margin: 0 0 7px; font-size: .72rem; }
.carla-context-related button { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; width: 100%; min-height: 39px; padding: 7px; border: 0; border-top: 1px solid #e1e6ed; background: transparent; color: #415369; text-align: left; }
.carla-context-related button b { font-size: .62rem; }
.carla-context-related button i { color: #8b98a8; font-style: normal; }
.outlook-mailbox.context-collapsed { grid-template-columns: var(--mail-folders,190px) 5px var(--mail-list,340px) 5px minmax(390px,1fr) 5px 56px !important; }
.context-collapsed .outlook-carla-context > :not(header), .context-collapsed .outlook-carla-context header > :not(button) { display: none; }
.context-collapsed .outlook-carla-context header { justify-content: center; padding: 8px; }

.outlook-compose { width: min(760px,calc(100vw - 40px)) !important; border-radius: 12px !important; box-shadow: 0 28px 90px rgba(12,31,52,.35) !important; }
.outlook-compose > header { min-height: 54px; background: #173657 !important; }
.outlook-compose textarea { min-height: 320px !important; }
.outlook-compose .outlook-attachment { margin: 8px 14px !important; border: 1px dashed #bfcbd8 !important; border-radius: 8px !important; background: #f7f9fb; }

@media (max-width: 1500px) {
  [data-screen="messaging"] { position: relative; }
  .outlook-mailbox { position: relative; grid-template-columns: var(--mail-folders,180px) 5px var(--mail-list,380px) 5px minmax(340px,1fr) !important; }
  .outlook-carla-context { position: absolute; z-index: 8; top: 0; right: 0; width: min(var(--mail-context,310px),85vw); height: 100%; box-shadow: -12px 0 35px rgba(20,42,68,.15); }
  .outlook-mailbox.context-collapsed .outlook-carla-context { width: 52px; }
  .outlook-mailbox.context-collapsed { grid-template-columns: var(--mail-folders,180px) 5px var(--mail-list,380px) 5px minmax(340px,1fr) !important; padding-right: 52px; }
  .mailbox-resizer-context { display: none; }
}
@media (max-width: 900px) {
  .outlook-mailbox { grid-template-columns: 170px minmax(280px,1fr) !important; height: auto; min-height: 680px; }
  .mailbox-resizer { display: none; }
  .outlook-reading-pane { grid-column: 1/-1; min-height: 520px; border-top: 1px solid #dfe5ec; }
  .outlook-carla-context { height: 100%; }
}
@media (max-width: 620px) {
  .outlook-mailbox { display: block !important; height: auto; }
  .outlook-folders { display: block !important; }
  .outlook-folders nav { display: grid !important; grid-template-columns: 1fr 1fr; max-height: 190px; }
  .outlook-folder-group { grid-column: 1/-1; }
  .outlook-message-list { min-height: 560px; }
  #outlook-mail-items { height: 405px; }
  .outlook-reading-pane { min-height: 520px; }
  .outlook-carla-context { position: static; width: 100% !important; height: auto; min-height: 420px; border-top: 1px solid #dce3eb; }
}

/* Dense alphabetical client directory. */
.client-workbench{position:relative}.client-workbench.client-profile-open{grid-template-columns:minmax(0,1fr)!important}.client-workbench.client-profile-open .client-directory-panel{position:absolute!important;visibility:hidden;pointer-events:none;opacity:0;transform:translateX(-28px)}.client-workbench.client-profile-open .client-summary-card{display:block!important;width:100%;min-width:0;opacity:1;animation:client-profile-enter .24s ease-out}.client-directory-panel{transition:opacity .2s ease,transform .24s ease,visibility 0s linear .24s}.client-profile-navigation{display:flex;align-items:center;min-height:34px;margin:0 0 8px}.client-profile-back{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--color-secondary);font:650 .68rem var(--font-sans);cursor:pointer}.client-profile-back:hover{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-primary)}@keyframes client-profile-enter{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.client-directory-panel{transition:none}.client-workbench.client-profile-open .client-summary-card{animation:none}}
.client-workbench{grid-template-columns:minmax(360px,38%) minmax(0,1fr)!important;gap:14px!important}.client-workbench.directory-browsing{grid-template-columns:minmax(0,1fr)!important}.client-workbench.directory-browsing .client-summary-card{display:none}.client-directory-panel{display:grid!important;grid-template-rows:auto minmax(0,1fr);height:calc(100vh - 188px);max-height:none!important;padding:0!important;overflow:hidden!important;border:1px solid var(--color-border)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--shadow-sm)!important}.client-directory-toolbar{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 10px;border-bottom:1px solid var(--color-border);background:#fff}.client-directory-toolbar label{position:relative;display:block!important;flex:1;min-width:0;padding:0!important;background:transparent!important}.client-directory-toolbar label>span{position:absolute!important;z-index:1;top:50%;left:11px;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;transform:translateY(-50%);color:var(--color-text-subtle);font-size:.9rem}.client-directory-toolbar input{width:100%;height:36px!important;padding:7px 10px 7px 34px!important;border:1px solid var(--color-border)!important;border-radius:8px!important;background:var(--color-surface-subtle)!important;background-image:none!important;font-size:.7rem!important}.client-directory-toolbar .module-status{flex:0 0 auto;margin:0!important;padding:0 4px!important;border:0!important;background:transparent!important;color:var(--color-text-subtle)!important;font-size:.58rem!important;white-space:nowrap}.all-clients-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-content:start;gap:0 18px;min-height:0!important;max-height:none!important;padding:8px 12px 18px;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}.client-letter-group{min-width:0;break-inside:avoid}.client-letter-group h2{position:sticky;z-index:2;top:0;margin:0;padding:9px 7px 5px;border-bottom:1px solid #e3e8ee;background:rgba(255,255,255,.96);color:var(--color-secondary);font:800 .65rem var(--font-sans);letter-spacing:.12em}.client-letter-group>div{display:grid;padding:3px 0 8px}.client-directory-row{position:relative;display:grid!important;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-height:30px;padding:4px 7px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--color-text)!important;text-align:left;cursor:pointer}.client-directory-row:hover{background:#f0f4f8!important}.client-directory-row.active{background:var(--color-primary)!important;color:#fff!important;box-shadow:none!important}.client-directory-row::after{display:none!important}.client-directory-row b{overflow:hidden;font-size:.67rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.client-directory-kind{color:#8ea0b4;font-size:.44rem}.client-directory-row.active .client-directory-kind{color:#d5e0ec}.client-directory-row mark{padding:0 1px;border-radius:2px;background:#ffe7a8;color:inherit}.client-directory-row.active mark{background:#d6b978}.client-directory-empty,.all-clients-list>.crm-empty{grid-column:1/-1;min-height:180px!important}.directory-collapsed.client-workbench{grid-template-columns:0 minmax(0,1fr)!important}.directory-collapsed .client-directory-panel{display:none!important}@media(min-width:1500px){.directory-browsing .all-clients-list{grid-template-columns:repeat(4,minmax(180px,1fr))}}@media(min-width:1050px) and (max-width:1499px){.directory-browsing .all-clients-list{grid-template-columns:repeat(3,minmax(170px,1fr))}}@media(max-width:1049px){.client-workbench{grid-template-columns:minmax(300px,42%) minmax(0,1fr)!important}.directory-browsing.client-workbench{grid-template-columns:1fr!important}.directory-browsing .all-clients-list{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:820px){.client-workbench,.client-workbench.directory-browsing{grid-template-columns:1fr!important}.client-directory-panel{position:relative!important;top:auto!important;height:min(52vh,520px)}.client-workbench:not(.directory-browsing) .client-directory-panel{height:260px}.client-workbench.directory-browsing .client-summary-card{display:none}.all-clients-list{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:520px){.all-clients-list,.directory-browsing .all-clients-list{grid-template-columns:1fr}.client-directory-toolbar{align-items:stretch;flex-direction:column;gap:4px}.client-directory-toolbar .module-status{align-self:flex-end}.client-directory-panel{height:calc(100vh - 220px)}}

/* Let the full client directory follow the page scroll, including its bottom spacing. */
[data-screen="clients"] .client-workbench.directory-browsing .client-directory-panel {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  max-height: none !important;
  grid-template-rows: auto auto;
  margin-bottom: 32px;
}
[data-screen="clients"] .client-workbench.directory-browsing .all-clients-list {
  overflow: visible !important;
  max-height: none !important;
  padding-bottom: 32px;
  overscroll-behavior: auto;
}

/* Client cockpit — progressive, frontend-only CRM experience. */
[data-screen="clients"]{max-width:none}.client-summary-card{padding:0!important;overflow:hidden}.client-crm{min-width:0;background:#fff}.client-crm-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);align-items:center;gap:24px;padding:26px 30px!important;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#fff,#f8fafc)!important;color:var(--color-text)!important}.client-crm-identity{display:flex;align-items:center;gap:16px;min-width:0}.client-crm-avatar{flex:0 0 auto;width:64px!important;height:64px!important;border-radius:18px!important;background:linear-gradient(145deg,#183153,#365b85)!important;color:#fff!important;box-shadow:0 9px 24px rgba(24,49,83,.2)}.client-crm-identity>div{min-width:0}.client-crm-identity small{color:var(--color-secondary)!important;font-size:.61rem;font-weight:850;letter-spacing:.12em}.client-crm-identity h2{overflow:hidden;margin:2px 0!important;color:var(--color-primary)!important;font:400 clamp(1.45rem,2.3vw,2rem)/1.15 var(--font-display)!important;text-overflow:ellipsis;white-space:nowrap}.client-crm-identity p,.client-crm-contact-line{overflow:hidden;margin:3px 0 0!important;color:var(--color-text-muted)!important;font-size:.7rem!important;text-overflow:ellipsis;white-space:nowrap}.crm-status{flex:0 0 auto;padding:7px 11px!important;border:1px solid #cbe2d5!important;border-radius:99px!important;background:var(--color-success-soft)!important;color:var(--color-success)!important}.client-crm-quick-actions{display:grid!important;grid-template-columns:repeat(4,minmax(92px,1fr))!important;gap:7px!important}.client-crm-quick-actions button{display:grid;grid-template-columns:22px 1fr;align-items:center;min-height:42px;padding:8px 10px!important;border:1px solid var(--color-border)!important;border-radius:9px!important;background:#fff!important;color:var(--color-primary)!important;text-align:left}.client-crm-quick-actions button:hover{background:var(--color-primary-soft)!important;transform:translateY(-1px)}.client-crm-quick-actions button b{font-size:.61rem}.client-crm-indicators{display:grid!important;grid-template-columns:repeat(8,minmax(105px,1fr))!important;gap:8px!important;padding:14px 18px!important;overflow-x:auto;border-bottom:1px solid var(--color-border);background:#f5f7fa!important}.client-crm-indicators button{display:grid!important;grid-template-columns:28px 1fr;align-items:center;min-height:78px;padding:11px!important;border:1px solid #e1e7ee!important;border-radius:11px!important;background:#fff!important;color:var(--color-primary);text-align:left}.client-crm-indicators button:hover{box-shadow:0 8px 20px rgba(20,43,73,.07)!important;transform:translateY(-1px)}.client-crm-indicators button>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--color-primary-soft)}.client-crm-indicators button div{display:grid;min-width:0}.client-crm-indicators strong{font:400 1.12rem var(--font-display)}.client-crm-indicators small{font-size:.6rem;font-weight:800}.client-crm-indicators em{overflow:hidden;color:var(--color-text-subtle);font-size:.54rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.client-crm-toolbar{position:sticky;z-index:4;top:76px;display:flex;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--color-border);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.client-crm-tabs{display:flex!important;flex:1;gap:2px!important;min-width:0;padding:0!important;overflow-x:auto;border:0!important;background:transparent!important}.client-crm-tabs button{flex:0 0 auto;padding:8px 10px!important;border-radius:7px!important;background:transparent!important;color:var(--color-text-muted)!important;font-size:.62rem!important}.client-crm-tabs button.active{background:var(--color-primary)!important;color:#fff!important}.client-crm-search{flex:0 0 min(260px,27%);padding:0!important;border:0!important;background:transparent!important}.client-crm-search span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.client-crm-search input{width:100%;height:36px;padding:7px 10px!important;border:1px solid var(--color-border)!important;border-radius:8px!important;background:var(--color-surface-subtle)!important;font-size:.65rem}.client-crm-content{min-height:460px;padding:20px 22px 30px!important;background:#f5f7fa!important}.crm-lawyer-summary{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:12px}.crm-summary-alert,.crm-recent-grid{grid-column:1/-1}.crm-recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.crm-recent-grid button{display:grid;gap:5px;min-height:92px;padding:14px;border:1px solid var(--color-border);border-radius:11px;background:#fff;text-align:left}.crm-recent-grid small{color:var(--color-secondary);font-size:.58rem;font-weight:850;text-transform:uppercase}.crm-recent-grid strong{overflow:hidden;color:var(--color-primary);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.crm-recent-grid time{color:var(--color-text-subtle);font-size:.6rem}.crm-resource-workspace,.crm-analysis-panel{overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:#fff}.crm-resource-workspace>header,.crm-analysis-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid var(--color-border)}.crm-resource-workspace h3,.crm-analysis-panel h3{margin:2px 0;font:400 1.15rem var(--font-display)}.crm-resource-workspace header>div:last-child{display:flex;gap:7px}.crm-resource-workspace input,.crm-resource-workspace select{padding:9px 10px;border:1px solid var(--color-border);border-radius:8px}.crm-document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px;padding:16px}.crm-document-card{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:92px;padding:13px;border:1px solid #e1e7ee;border-radius:11px;background:#fff}.crm-document-card div{display:grid;min-width:0}.crm-document-card b{overflow:hidden;color:var(--color-primary);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.crm-document-card small,.crm-document-card p{margin:0;color:var(--color-text-subtle);font-size:.58rem}.crm-document-card button,.crm-message-card button,.crm-analysis-panel header button{padding:8px 10px;border:0;border-radius:8px;background:var(--color-primary);color:#fff;font-size:.61rem;font-weight:800}.crm-message-list{display:grid;gap:8px}.crm-message-card{padding:15px 17px;border:1px solid var(--color-border);border-radius:11px;background:#fff}.crm-message-card header,.crm-message-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.crm-message-card h3{margin:2px 0;color:var(--color-primary);font-size:.8rem}.crm-message-card p{overflow:hidden;margin:10px 0;color:var(--color-text-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.crm-message-card small,.crm-message-card time,.crm-message-card footer span{color:var(--color-text-subtle);font-size:.58rem}.crm-premium-timeline{position:relative;display:grid;padding-left:18px}.crm-premium-timeline::before{position:absolute;top:12px;bottom:12px;left:34px;width:1px;background:#cfd9e4;content:""}.crm-premium-timeline article{position:relative;z-index:1;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;min-height:68px;padding:9px 12px 9px 0;border-bottom:1px solid #e5eaf0}.crm-timeline-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d5dee8;border-radius:50%;background:#fff}.crm-premium-timeline article div{display:grid}.crm-premium-timeline small{color:var(--color-secondary);font-size:.55rem;text-transform:uppercase}.crm-premium-timeline b{font-size:.7rem}.crm-premium-timeline time{color:var(--color-text-subtle);font-size:.61rem}.crm-analysis-panel>header p{margin:3px 0 0;color:var(--color-text-muted);font-size:.66rem}.crm-analysis-output{min-height:260px;padding:20px;font-size:.73rem;line-height:1.7;white-space:pre-wrap}.crm-analysis-output>small{display:block;margin-bottom:12px;color:var(--color-text-subtle)}.client-crm-skeleton{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px}.client-crm-skeleton i{height:86px;border-radius:11px;background:linear-gradient(90deg,#edf1f5,#f8fafc,#edf1f5);background-size:200% 100%;animation:clientSkeleton 1.1s linear infinite}@keyframes clientSkeleton{to{background-position:-200% 0}}@media(max-width:1250px){.client-crm-hero{grid-template-columns:1fr}.client-crm-indicators{grid-template-columns:repeat(4,minmax(145px,1fr))!important}}@media(max-width:900px){.client-crm-toolbar{position:static;align-items:stretch;flex-direction:column}.client-crm-search{flex-basis:auto}.crm-lawyer-summary{grid-template-columns:1fr}.crm-readable-summary,.crm-deadlines{grid-column:1}.crm-recent-grid{grid-template-columns:repeat(2,1fr)}.client-crm-indicators{grid-template-columns:repeat(4,170px)!important}}@media(max-width:560px){.client-crm-quick-actions{grid-template-columns:repeat(2,1fr)!important}.client-crm-indicators{grid-template-columns:repeat(2,150px)!important}.client-crm-content{padding:12px!important}.crm-recent-grid,.client-crm-skeleton{grid-template-columns:1fr}.crm-resource-workspace>header{align-items:stretch;flex-direction:column}.crm-resource-workspace header>div:last-child{flex-direction:column}.crm-message-card p{white-space:normal}.crm-premium-timeline article{grid-template-columns:34px 1fr}.crm-premium-timeline time{grid-column:2}}

/* Full-screen mailbox workspace: keep every pane inside the viewport. */
body.mailbox-mode { overflow: hidden; }
body.mailbox-mode .primary-sidebar {
  width: 72px !important; padding: 18px 9px !important; align-items: center;
}
body.mailbox-mode .product-mark { justify-content: center; width: 100%; margin: 0 0 14px; padding: 0 0 16px !important; }
body.mailbox-mode .product-identity,
body.mailbox-mode .product-menu-chevron,
body.mailbox-mode .primary-sidebar > nav::before,
body.mailbox-mode .sidebar-secondary::before,
body.mailbox-mode .user-identity,
body.mailbox-mode .user-menu-chevron { display: none !important; }
body.mailbox-mode .primary-sidebar { overflow-y: auto; }
body.mailbox-mode .primary-sidebar nav { display: grid !important; width: 100%; gap: 3px; }
body.mailbox-mode .nav-item {
  display: block !important; width: 48px; min-height: 42px; margin: 0 auto; padding: 0 !important;
  overflow: hidden; color: transparent !important; font-size: 0 !important;
}
body.mailbox-mode .nav-item[hidden] { display: none !important; }
body.mailbox-mode .nav-item::before { left: 50%; color: #9fb1c6; font-size: 1rem; transform: translate(-50%,-50%); }
body.mailbox-mode .nav-item:hover::before { color: #fff; }
body.mailbox-mode .nav-item.active { min-height: 46px; }
body.mailbox-mode .nav-item.active::before { color: #fff; font-size: 1.1rem; }
body.mailbox-mode .sidebar-secondary { display: grid !important; margin-top: 5px !important; padding-top: 7px !important; }
body.mailbox-mode .user-summary { justify-content: center; width: 50px; margin-inline: auto; padding: 7px; }
body.mailbox-mode .user-menu-toggle { grid-template-columns:32px!important;justify-content:center;padding:7px!important; }
body.mailbox-mode .primary-sidebar:has(.user-menu:not([hidden])) { width:240px!important;align-items:stretch; }
body.mailbox-mode .primary-sidebar:has(.user-menu:not([hidden])) .user-summary { width:100%; }
body.mailbox-mode .primary-sidebar:has(.user-menu:not([hidden])) .user-menu-toggle { grid-template-columns:32px minmax(0,1fr) auto!important;justify-content:stretch; }
body.mailbox-mode .primary-sidebar:has(.user-menu:not([hidden])) .user-identity,
body.mailbox-mode .primary-sidebar:has(.user-menu:not([hidden])) .user-menu-chevron { display:grid!important; }
body.mailbox-mode .app-shell {
  height: 100vh; min-width: 0; margin-left: 0 !important; padding: 76px 10px 10px !important; overflow: hidden;
}
body.mailbox-mode .topbar { left: 72px; height: 66px; padding: 0 14px !important; }
body.mailbox-mode [data-screen="messaging"] { height: 100%; }
body.mailbox-mode [data-screen="messaging"] > .screen-heading { display: none !important; }
body.mailbox-mode .outlook-mailbox {
  width: 100%; height: 100%; min-height: 0; border-radius: 10px !important;
}
body.mailbox-mode .outlook-carla-context { height: 100%; }
body.mailbox-mode #outlook-advanced { display: none; }

@media (min-width: 1501px) {
  body.mailbox-mode .outlook-mailbox {
    grid-template-columns: var(--mail-folders,190px) 5px var(--mail-list,380px) 5px minmax(390px,1fr) 5px var(--mail-context,290px) !important;
  }
}
@media (max-width: 900px) {
  body.mailbox-mode { overflow: auto; }
  body.mailbox-mode .primary-sidebar { width: min(292px,88vw) !important; }
  body.mailbox-mode .app-shell { height: auto; min-height: 100vh; margin-left: 0 !important; padding: 74px 8px 12px !important; overflow: visible; }
  body.mailbox-mode .topbar { left: 0; }
  body.mailbox-mode [data-screen="messaging"] { height: auto; }
  body.mailbox-mode .outlook-mailbox { height: auto; min-height: 680px; }
}

/* Final Outlook layout: three permanent panes, Carla as an optional drawer. */
body.mailbox-mode .outlook-mailbox,
.outlook-mailbox {
  position: relative;
  grid-template-columns: var(--mail-folders,190px) 5px var(--mail-list,390px) 5px minmax(390px,1fr) !important;
  padding-right: 52px;
}
.mailbox-resizer-context { display: none !important; }
.outlook-carla-context {
  position: absolute !important; z-index: 12 !important; top: 0; right: 0;
  width: min(var(--mail-context,310px),85vw); height: 100% !important;
  box-shadow: -14px 0 36px rgba(18,42,68,.16);
}
.outlook-mailbox.context-collapsed .outlook-carla-context { width: 52px; }
.outlook-mailbox.context-collapsed {
  grid-template-columns: var(--mail-folders,190px) 5px var(--mail-list,390px) 5px minmax(390px,1fr) !important;
}
.outlook-mail-row {
  grid-template-columns: 14px 10px 30px minmax(0,1fr) auto !important;
  grid-template-rows: 19px 18px 17px !important;
  min-height: 72px !important; padding: 9px 10px !important; column-gap: 7px !important;
}
.outlook-select-mark { grid-column: 1 !important; grid-row: 1/4 !important; }
.outlook-unread-dot { grid-column: 2; grid-row: 1; align-self: center; width: 7px; height: 7px; border-radius: 50%; background: transparent; }
.outlook-mail-row.unread .outlook-unread-dot { background: #0f6cbd; box-shadow: 0 0 0 2px #dceefa; }
.outlook-folders [data-folder-count] { margin-left: auto; color: #0f548c; font-size: .6rem; font-weight: 800; }
.outlook-mail-load-more { display: block; width: calc(100% - 24px); margin: 10px 12px 14px; padding: 9px 12px; border: 1px solid #cbd8e5; border-radius: 8px; background: #f7fafc; color: #174e7b; font-size: .66rem; font-weight: 750; cursor: pointer; }
.outlook-mail-load-more:hover { background: #eaf3fb; }
.outlook-mail-load-more[hidden] { display: none; }
.outlook-row-avatar { grid-column: 3 !important; grid-row: 1/4 !important; width: 28px !important; height: 28px !important; }
.outlook-mail-row .outlook-sender { grid-column: 4 !important; grid-row: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.outlook-mail-row time { grid-column: 5 !important; grid-row: 1; }
.outlook-mail-row > b { grid-column: 4/6 !important; grid-row: 2; }
.outlook-mail-row > p { grid-column: 4/6 !important; grid-row: 3; margin: 0 !important; }
.outlook-mail-row .outlook-row-flags { grid-column: 5 !important; grid-row: 2; justify-self: end; }
.outlook-filter-chips { max-width: 100%; padding-bottom: 2px; }
.outlook-folders.folders-condensed nav > button:not(.active),
.outlook-folders.folders-condensed .outlook-folder-group-title { display: none !important; }

@media (max-width: 1050px) {
  body.mailbox-mode .outlook-mailbox,
  .outlook-mailbox,
  .outlook-mailbox.context-collapsed {
    grid-template-columns: var(--mail-folders,170px) 5px var(--mail-list,340px) 5px minmax(320px,1fr) !important;
  }
}
@media (max-width: 760px) {
  body.mailbox-mode .outlook-mailbox,
  .outlook-mailbox { display: block !important; padding-right: 0; }
  .mailbox-resizer { display: none !important; }
  .outlook-carla-context { position: static !important; width: 100% !important; min-height: 380px; box-shadow: none; }
}
.client-profile-navigation{justify-content:space-between;gap:16px}.client-profile-breadcrumb{display:flex;align-items:center;gap:7px;min-width:0;color:var(--color-text-subtle);font-size:.66rem}.client-profile-breadcrumb i{font-style:normal}.client-profile-breadcrumb strong{overflow:hidden;max-width:min(48vw,520px);color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap}.client-profile-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.client-crm-identity-copy{display:grid;min-width:0}.client-crm-meta,.client-crm-contact-line{display:flex;flex-wrap:wrap;gap:5px 14px!important;white-space:normal!important}.client-crm-meta span,.client-crm-contact-line span{display:inline-flex;gap:5px;min-width:0}.client-crm-meta b,.client-crm-contact-line b{color:var(--color-text-subtle);font-size:.62rem}.client-crm-meta em,.client-crm-contact-line em{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.68rem;font-style:normal}.client-crm-action-area{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.client-crm-more-actions{position:relative}.client-crm-more-actions summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 12px;border:1px solid var(--color-border);border-radius:9px;background:#fff;color:var(--color-primary);font-size:.65rem;font-weight:800;cursor:pointer;list-style:none}.client-crm-more-actions summary::-webkit-details-marker{display:none}.client-crm-more-actions summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.client-crm-more-actions[open] summary{background:var(--color-primary-soft)}.client-crm-more-actions>div{position:absolute;z-index:8;top:calc(100% + 7px);right:0;display:grid;width:220px;padding:7px;border:1px solid var(--color-border);border-radius:11px;background:#fff;box-shadow:var(--shadow-lg)}.client-crm-more-actions button{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--color-primary);text-align:left;cursor:pointer}.client-crm-more-actions button:hover,.client-crm-more-actions button:focus-visible{background:var(--color-primary-soft);outline:0}.client-crm-more-actions button:disabled{cursor:not-allowed;opacity:.48}.client-crm-more-actions button b{font-size:.65rem}
@media(max-width:900px){.client-profile-navigation{align-items:flex-start;flex-direction:column-reverse;gap:3px}.client-profile-breadcrumb strong{max-width:70vw}.client-crm-action-area{grid-template-columns:minmax(0,1fr) auto}}@media(max-width:560px){.client-crm-action-area{grid-template-columns:1fr}.client-crm-more-actions summary{width:100%}.client-crm-more-actions>div{right:auto;left:0;width:min(100%,260px)}}
.client-crm-identity h2{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere}.client-crm-badges{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px}.client-crm-alert-badge{padding:6px 9px;border:1px solid #ead49f;border-radius:99px;background:#fff8e8;color:#694f1d;font-size:.62rem;font-weight:800;cursor:pointer}.client-crm-alert-badge.danger{border-color:#e7c4bf;background:#fff0ee;color:#8b332d}.client-crm-alert-badge:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:760px){.client-crm-badges{grid-column:1/-1;align-items:flex-start;flex-direction:row;flex-wrap:wrap}}
.client-crm-indicators{grid-template-columns:repeat(6,minmax(135px,1fr))!important}.client-crm-indicators button{min-height:82px!important}.client-crm-indicators strong{overflow:visible!important;line-height:1.15;text-overflow:clip!important;white-space:normal!important}.client-crm-indicators em{margin-top:3px;overflow:visible!important;line-height:1.25;text-overflow:clip!important;white-space:normal!important}.client-crm-indicators button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:1250px){.client-crm-indicators{grid-template-columns:repeat(3,minmax(160px,1fr))!important}}@media(max-width:760px){.client-crm-indicators{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow-x:visible!important}}@media(max-width:430px){.client-crm-indicators{grid-template-columns:1fr!important}}
.client-crm-navigation{display:flex;flex:1;align-items:center;gap:5px;min-width:0}.client-crm-more-tabs{position:relative;flex:0 0 auto}.client-crm-more-tabs summary{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:7px;color:var(--color-text-muted);font-size:.62rem;font-weight:800;cursor:pointer;list-style:none}.client-crm-more-tabs summary::-webkit-details-marker{display:none}.client-crm-more-tabs summary:hover,.client-crm-more-tabs summary:focus-visible,.client-crm-more-tabs.active summary{background:var(--color-primary)!important;color:#fff!important;outline:0}.client-crm-more-tabs>div{position:absolute;z-index:9;top:calc(100% + 8px);right:0;display:grid;width:230px;padding:7px;border:1px solid var(--color-border);border-radius:11px;background:#fff;box-shadow:var(--shadow-lg)}.client-crm-more-tabs button{min-height:38px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--color-primary);font-size:.65rem;font-weight:700;text-align:left;cursor:pointer}.client-crm-more-tabs button:hover,.client-crm-more-tabs button:focus-visible,.client-crm-more-tabs button.active{background:var(--color-primary-soft);outline:0}@media(max-width:900px){.client-crm-navigation{width:100%}.client-crm-more-tabs>div{right:auto;left:0}}
.crm-overview-dashboard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px}.crm-dashboard-card{min-width:0;padding:18px;border:1px solid var(--color-border);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(24,49,83,.035)}.crm-dashboard-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.crm-dashboard-card header small{color:var(--color-secondary);font-size:.58rem;font-weight:850;letter-spacing:.08em}.crm-dashboard-card h3{margin:2px 0 0;color:var(--color-primary);font:400 1.08rem var(--font-display)}.crm-client-situation dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.crm-client-situation dl>div{display:grid;gap:3px;padding:10px 8px;border-bottom:1px solid #edf0f4}.crm-client-situation dt{color:var(--color-text-subtle);font-size:.58rem;font-weight:750;text-transform:uppercase}.crm-client-situation dd{overflow-wrap:anywhere;margin:0;color:var(--color-text);font-size:.7rem;font-weight:700}.crm-overview-recent{grid-row:span 2}.crm-overview-recent>header button{padding:7px 9px;border:0;border-radius:7px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.6rem;font-weight:800;cursor:pointer}.crm-premium-timeline.compact{padding-left:8px}.crm-premium-timeline.compact::before{left:24px}.crm-premium-timeline.compact article{grid-template-columns:30px 1fr auto;min-height:56px}.crm-premium-timeline.compact .crm-timeline-icon{width:30px;height:30px}.crm-watch-item,.crm-overview-recommendations button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;margin-top:7px;padding:9px 11px;border:1px solid #ead49f;border-radius:9px;background:#fffaf0;color:#694f1d;font-size:.66rem;font-weight:750;text-align:left;cursor:pointer}.crm-watch-item.danger{border-color:#e7c4bf;background:#fff3f1;color:#8b332d}.crm-positive-state{margin:0;padding:13px;border-radius:9px;background:var(--color-success-soft);color:var(--color-success);font-size:.7rem;font-weight:750}.crm-overview-recommendations button{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-primary)}.crm-overview-recommendations button:hover,.crm-overview-recommendations button:focus-visible,.crm-watch-item:hover,.crm-watch-item:focus-visible,.crm-overview-recent>header button:focus-visible{border-color:var(--color-primary);outline:2px solid rgba(24,49,83,.16);outline-offset:1px}.crm-overview-recommendations .crm-empty{min-height:72px}@media(max-width:1024px){.crm-overview-dashboard{grid-template-columns:1fr}.crm-overview-recent{grid-row:auto}}@media(max-width:560px){.crm-client-situation dl{grid-template-columns:1fr}.crm-dashboard-card{padding:14px}.crm-premium-timeline.compact article{grid-template-columns:30px 1fr}.crm-premium-timeline.compact time{grid-column:2}}
.crm-activity-workspace{overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:#fff}.crm-activity-workspace>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:17px 19px;border-bottom:1px solid var(--color-border)}.crm-activity-workspace h3{margin:2px 0;color:var(--color-primary);font:400 1.15rem var(--font-display)}.crm-activity-workspace header small{color:var(--color-secondary);font-size:.58rem;font-weight:850;letter-spacing:.08em}.crm-activity-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.crm-activity-filters button{min-height:34px;padding:6px 9px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-muted);font-size:.6rem;font-weight:750;cursor:pointer}.crm-activity-filters button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.crm-activity-filters button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.crm-activity-results{padding:8px 18px 18px}.crm-premium-timeline.crm-activity-timeline>button{position:relative;z-index:1;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;width:100%;min-height:68px;padding:9px 12px 9px 0;border:0;border-bottom:1px solid #e5eaf0;background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.crm-premium-timeline.crm-activity-timeline>button:hover{background:var(--color-surface-subtle)}.crm-premium-timeline.crm-activity-timeline>button:focus-visible{border-radius:8px;outline:2px solid var(--color-primary);outline-offset:1px}.crm-premium-timeline.crm-activity-timeline>button div{display:grid}.crm-premium-timeline.crm-activity-timeline>button small{color:var(--color-secondary);font-size:.55rem;text-transform:uppercase}.crm-premium-timeline.crm-activity-timeline>button b{font-size:.7rem}.crm-premium-timeline.crm-activity-timeline>button time{color:var(--color-text-subtle);font-size:.61rem}.crm-premium-timeline.crm-activity-timeline.compact>button{grid-template-columns:30px 1fr auto;min-height:56px}.crm-premium-timeline.crm-activity-timeline.compact>button .crm-timeline-icon{width:30px;height:30px}@media(max-width:760px){.crm-activity-workspace>header{align-items:stretch;flex-direction:column}.crm-activity-filters{justify-content:flex-start}.crm-activity-results{padding-inline:10px}.crm-premium-timeline.crm-activity-timeline>button{grid-template-columns:34px 1fr}.crm-premium-timeline.crm-activity-timeline>button time{grid-column:2}}
.crm-carla-analysis-card{grid-column:1/-1;background:linear-gradient(135deg,#fff,#f4f7fb)}.crm-carla-analysis-card>header>span{color:var(--color-text-subtle);font-size:.6rem}.crm-carla-analysis-preview{max-height:180px;overflow:auto;color:var(--color-text-muted);font-size:.7rem;line-height:1.6}.crm-carla-analysis-preview p{margin:0;white-space:pre-wrap}.crm-carla-analysis-preview .crm-empty{min-height:70px;justify-items:start;text-align:left}.crm-carla-analysis-card>button{margin-top:13px;padding:9px 12px;border:0;border-radius:8px;background:var(--color-primary);color:#fff;font-size:.64rem;font-weight:800;cursor:pointer}.crm-carla-analysis-card>button:disabled{cursor:wait;opacity:.65}.crm-carla-analysis-card>button:focus-visible,.crm-carla-analysis-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.client-crm-search{display:grid!important;gap:3px}.client-crm-search span{position:static!important;width:auto!important;height:auto!important;clip:auto!important;color:var(--color-text-subtle);font-size:.55rem!important;letter-spacing:.04em}.client-crm-search input{height:34px!important}.crm-client-search-results{overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:#fff}.crm-client-search-results>header{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--color-border)}.crm-client-search-results h3{margin:2px 0;color:var(--color-primary);font:400 1.08rem var(--font-display)}.crm-client-search-results header small{color:var(--color-secondary);font-size:.58rem;font-weight:850}.crm-client-search-results header>span{color:var(--color-text-subtle);font-size:.62rem}.crm-client-search-results>div{padding:8px 14px 16px}.crm-client-search-results>div>button{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:12px;width:100%;min-height:56px;padding:9px 10px;border:0;border-bottom:1px solid #e8ecf1;background:#fff;color:var(--color-text);text-align:left;cursor:pointer}.crm-client-search-results>div>button:hover{background:var(--color-surface-subtle)}.crm-client-search-results>div>button:focus-visible{border-radius:7px;outline:2px solid var(--color-primary);outline-offset:1px}.crm-client-search-results button span{display:grid}.crm-client-search-results button small{color:var(--color-secondary);font-size:.55rem;text-transform:uppercase}.crm-client-search-results button b{overflow-wrap:anywhere;font-size:.7rem}.crm-client-search-results button time{color:var(--color-text-subtle);font-size:.6rem}@media(max-width:900px){.client-crm-search{width:100%}.crm-client-search-results>div>button{grid-template-columns:minmax(0,1fr) auto}.crm-client-search-results button i{display:none}}
.client-summary-card{min-height:0!important}.client-crm-content{min-height:320px!important;padding:18px 20px 24px!important}.client-crm-content>.crm-empty{min-height:160px}.client-crm-hero{gap:18px!important;padding:22px 24px!important}.client-crm-indicators{padding:11px 16px!important}.client-crm-toolbar{top:70px;padding:8px 14px}.crm-dashboard-card{box-shadow:none}.client-crm :is(button,summary,input,select,textarea,a):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.client-crm :is(button,summary){touch-action:manipulation}.client-crm-more-actions summary,.client-crm-more-tabs summary,.client-crm-quick-actions button,.client-crm-indicators button{min-height:42px}@media(max-width:1150px){.client-crm-toolbar{position:static;align-items:stretch;flex-direction:column}.client-crm-search{flex-basis:auto;width:100%}.client-crm-navigation{width:100%}.client-crm-tabs{padding-bottom:2px!important}.crm-overview-dashboard{grid-template-columns:1fr}.crm-overview-recent{grid-row:auto}}@media(max-width:1024px){.client-crm-hero{padding:20px!important}.client-crm-indicators{grid-template-columns:repeat(3,minmax(0,1fr))!important}.client-crm-content{padding:16px!important}}@media(max-width:760px){.client-profile-navigation{padding-inline:2px}.client-profile-breadcrumb{width:100%}.client-profile-breadcrumb strong{max-width:none;white-space:normal}.client-crm-identity{align-items:start!important}.client-crm-action-area{width:100%}.client-crm-indicators{grid-template-columns:repeat(2,minmax(0,1fr))!important}.client-crm-navigation{align-items:stretch;flex-direction:column}.client-crm-more-tabs>div{position:static;width:100%;margin-top:4px;box-shadow:none}.client-crm-more-tabs summary{justify-content:center;border:1px solid var(--color-border)}.client-crm-content{padding:12px!important}.crm-dashboard-card>header{align-items:flex-start;flex-direction:column}.crm-client-search-results>header{align-items:flex-start;flex-direction:column}}@media(max-width:430px){.client-crm-quick-actions{grid-template-columns:1fr!important}.client-crm-indicators{grid-template-columns:1fr!important}.client-crm-meta,.client-crm-contact-line{display:grid!important}.client-crm-content{padding-inline:8px!important}}
.crm-message-card.sent{border-left:3px solid #567ba5}.crm-message-card.received{border-left:3px solid var(--color-secondary)}.crm-message-card.sent header small{color:#416b98!important}.crm-message-card.received header small{color:#8a642f!important}.crm-activity-timeline [data-direction="sent"] .crm-timeline-icon{border-color:#b9cce0;background:#edf4fb;color:#315f90}.crm-activity-timeline [data-direction="received"] .crm-timeline-icon{border-color:#dfcda9;background:#fff8e9;color:#805d29}.crm-activity-timeline em{overflow:hidden;margin-top:2px;color:var(--color-text-subtle);font-size:.56rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.crm-message-card[role="button"]{cursor:pointer}.crm-message-card[role="button"]:hover,.crm-message-card[role="button"]:focus-visible{border-color:var(--color-primary);box-shadow:0 7px 18px rgba(24,49,83,.08);outline:2px solid rgba(24,49,83,.14);outline-offset:1px}.crm-message-card footer>div{display:flex;gap:7px}
.crm-message-list.matter-email-timeline{gap:0}.crm-message-card.matter-email-card{border-width:0 0 1px;border-radius:0;background:transparent}.crm-message-card.matter-email-card>div>p{overflow:visible;margin:10px 0;color:#42536a;font-size:.72rem;line-height:1.65;text-overflow:clip;white-space:pre-wrap}.crm-message-card.matter-email-card h3{margin:2px 0;color:var(--color-primary);font-size:.8rem}.crm-message-card.matter-email-card footer{margin-top:12px}.crm-message-card.matter-email-card time{text-align:right;white-space:normal}
.contextual-document-intake{display:grid;gap:12px;margin:0 0 20px;padding:18px;border:1px solid #d7e0ec;border-radius:16px;background:#f8fafc}.contextual-document-intake>.screen-action{justify-self:start}.contextual-drop{display:grid;place-items:center;gap:4px;min-height:105px;padding:18px;border:2px dashed #aebed2;border-radius:13px;background:#fff;color:#304766;text-align:center;transition:.16s ease}.contextual-drop span{color:#718097;font-size:.78rem}.contextual-drop.active{border-color:#315984;background:#edf4fc;transform:translateY(-1px)}.contextual-upload-notice{display:flex;align-items:center;gap:14px;padding:15px 17px;border:2px solid;border-radius:13px;box-shadow:0 5px 16px #18345014}.contextual-upload-notice[hidden]{display:none}.contextual-upload-notice>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;font-size:1.35rem;font-weight:800}.contextual-upload-notice b{display:block;font-size:1rem}.contextual-upload-notice p{margin:3px 0 0;font-size:.86rem}.contextual-upload-notice.active{border-color:#d89a25;background:#fff8e8;color:#734b00}.contextual-upload-notice.active>span{background:#f2b94b;color:#fff;animation:contextual-upload-pulse 1.3s ease-in-out infinite}.contextual-upload-notice.complete{border-color:#3d9467;background:#e9f7ef;color:#205c3f}.contextual-upload-notice.complete>span{background:#3d9467;color:#fff}.contextual-upload-notice.warning{border-color:#cc7b2d;background:#fff4e7;color:#75420e}.contextual-upload-notice.warning>span{background:#cc7b2d;color:#fff}@keyframes contextual-upload-pulse{50%{transform:translateY(-3px);box-shadow:0 4px 0 #ffffff80}}.contextual-progress{display:grid;gap:8px}.contextual-file-progress{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr);gap:10px;padding:10px 12px;border-radius:10px;background:#eef3f8;color:#41536c}.contextual-file-progress b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contextual-file-progress.complete{background:#eaf5ee;color:#286044}.contextual-file-progress.error,.contextual-file-progress.duplicate{background:#fff4e5;color:#82551b}.contextual-file-progress>div{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.contextual-file-progress button{padding:7px 10px;border:1px solid #b9c7d8;border-radius:8px;background:#fff;color:#314b70}.contextual-import-summary{padding:10px 12px;border-radius:10px;background:#eaf5ee;color:#286044}@media(max-width:700px){.contextual-file-progress{grid-template-columns:1fr}}

.contextual-file-progress.refused{background:#f0f1f3;color:#59616d}
.document-intake-card footer [data-refuse-upload]{
  border:2px solid #9f2f25!important;
  background:#fff3f1!important;
  color:#8b241c!important;
  font-weight:800!important;
  box-shadow:0 2px 8px rgba(139,36,28,.12)!important;
}
.document-intake-card footer [data-refuse-upload]:hover,
.document-intake-card footer [data-refuse-upload]:focus-visible{
  background:#9f2f25!important;
  color:#fff!important;
  outline:3px solid rgba(159,47,37,.2)!important;
  outline-offset:2px;
}
.document-intake-card footer [data-refuse-upload]:disabled{opacity:.55;cursor:wait}
.agreement-download-choice{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:6px 9px;border:1px solid var(--color-border);border-radius:9px;background:#fff;font-weight:700}.agreement-download-choice select{min-width:125px;padding:7px 9px;border:1px solid var(--color-border);border-radius:7px;background:#fff}
.document-delete-selected{border-color:#c97b72!important;background:#fff5f4!important;color:#8b2f26!important}
.document-delete-selected:not(:disabled){background:#9b3028!important;color:#fff!important}.document-delete-selected:disabled{opacity:.58;cursor:not-allowed}

/* Bibliothèque documentaire globale de la fiche Client. */
.crm-client-document-library>header p{margin:3px 0 0;color:var(--color-text-muted);font-size:.66rem}.crm-client-document-library>header>div:last-child{display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,.7fr);gap:8px}.crm-client-document-tree{display:grid;gap:10px;padding:16px;background:#f5f7fa}.crm-client-document-matter{overflow:hidden;border:1px solid var(--color-border);border-radius:13px;background:#fff}.crm-client-document-matter>summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:15px 17px;cursor:pointer;list-style:none}.crm-client-document-matter>summary::-webkit-details-marker,.crm-client-document-folder>summary::-webkit-details-marker{display:none}.crm-client-document-matter>summary::after{grid-column:1;grid-row:1;color:#6c7d91;content:"›";font-size:1rem;transform:translateX(19px);transition:transform .15s}.crm-client-document-matter[open]>summary::after{transform:translateX(19px) rotate(90deg)}.crm-client-document-matter>summary>span{font-size:1.15rem}.crm-client-document-matter>summary>div{display:grid;gap:3px}.crm-client-document-matter>summary b{color:var(--color-primary);font-size:.76rem}.crm-client-document-matter>summary small{color:var(--color-text-muted);font-size:.6rem}.crm-client-document-matter summary em{display:grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;background:#edf2f7;color:#52667e;font-size:.61rem;font-style:normal}.crm-client-document-matter>summary.drop-target,.crm-client-document-folder>summary.drop-target{background:#e7f1fc;box-shadow:inset 4px 0 #315984}.crm-client-document-folders{display:grid;gap:7px;padding:0 14px 14px 46px;border-top:1px solid #e7ebf0;background:#fafbfd}.crm-client-document-folder{overflow:hidden;border-bottom:1px solid #e5eaf0}.crm-client-document-folder>summary{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 9px;cursor:pointer;list-style:none}.crm-client-document-folder>summary b{color:#405570;font-size:.68rem}.crm-client-document-folder>summary+div{padding:0 8px 12px}.crm-client-document-folder .crm-document-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:4px 0}.crm-tree-document-card{min-height:78px!important;background:#fff}.crm-tree-document-card.dragging{opacity:.45}.crm-document-library-status{margin:0;padding:10px 17px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.62rem}
@media(max-width:760px){.crm-client-document-library>header>div:last-child{grid-template-columns:1fr}.crm-client-document-folders{padding-left:14px}.crm-client-document-matter>summary{padding-inline:12px}}

/* Trois actions principales bien espacées dans l'en-tête de la fiche Client. */
.client-crm-quick-actions{grid-template-columns:repeat(3,minmax(120px,1fr))!important;gap:9px!important}
.client-crm-quick-actions button{min-height:46px!important;padding:9px 11px!important}

/* Le monogramme ouvre l'édition complète de la fiche client. */
.client-crm-avatar[role="button"]{position:relative;cursor:pointer;outline:none;transition:transform .15s ease,box-shadow .15s ease}
.client-crm-avatar[role="button"]:hover,.client-crm-avatar[role="button"]:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 3px rgba(54,91,133,.24),0 9px 24px rgba(24,49,83,.2)}
.client-crm-avatar[role="button"]::after{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#215c73;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.18);content:"✎"}
.documents-to-classify{margin:0 0 18px;padding:18px;border:1px solid #d9a441;border-radius:14px;background:#fffaf0}.documents-to-classify>header{display:flex;justify-content:space-between;gap:16px;align-items:start}.documents-to-classify>header strong{background:#8a5a00;color:#fff;border-radius:999px;padding:4px 10px}.documents-to-classify>div{display:grid;gap:10px;margin-top:14px}.documents-to-classify article{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px;border:1px solid #ead9b5;border-radius:10px;background:#fff}.documents-to-classify article small,.documents-to-classify article p,.documents-to-classify article span{display:block;margin-top:4px;color:#675b48}.documents-to-classify article>div:last-child{text-align:right;min-width:230px}.documents-to-classify button{margin-top:8px}
.sas-document-decision-controls{display:grid;gap:14px;width:min(620px,100%);text-align:left}.sas-name-decision,.sas-routing-decision{display:grid;gap:10px;padding:14px;border:1px solid #d9e1ec;border-radius:12px;background:#f8fafc}.sas-decision-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sas-decision-comparison label,.sas-routing-decision>label,.sas-create-destination label{display:grid;gap:5px;font-size:.78rem;font-weight:700;color:#52657d}.sas-decision-comparison input,.sas-routing-decision select,.sas-create-destination input,.sas-create-destination select{box-sizing:border-box;width:100%;min-height:42px;padding:8px 10px;border:1px solid #b8c5d5;border-radius:8px;background:#fff;color:#172a43}.sas-decision-comparison input[readonly]{background:#edf1f6;color:#65758a}.sas-proposed-destination{display:grid;gap:3px;margin:0;padding:9px 11px;border-left:4px solid #4d79a8;background:#edf4fc;color:#294664}.sas-proposed-destination span{margin:0!important;color:#294664!important}.sas-name-decision>[data-manual-name],.sas-routing-decision>[data-route]{width:100%;min-height:44px;margin:0!important;border:0;border-radius:9px;background:#315984;color:#fff;font-weight:750}.sas-create-destination{padding-top:4px}.sas-create-destination summary{cursor:pointer;color:#315984;font-weight:700}.sas-create-destination>div{display:grid;gap:9px;margin-top:10px}.sas-create-destination [data-create-destination]{min-height:42px}@media(max-width:720px){.sas-decision-comparison{grid-template-columns:1fr}.documents-to-classify article{align-items:stretch;flex-direction:column}.documents-to-classify article>div:last-child{min-width:0;text-align:left}}
.document-transfer-status.reading::after{display:inline-block;margin-left:8px;content:"";width:1.2em;height:.35em;border-radius:999px;background:currentColor;animation:carla-upload-reading 1s ease-in-out infinite}@keyframes carla-upload-reading{50%{opacity:.2;transform:translateX(6px)}}

.global-document-upload-monitor{position:fixed;right:22px;bottom:22px;z-index:1200;width:min(420px,calc(100vw - 28px));padding:14px 16px;border:1px solid #b8c8dc;border-radius:14px;background:#fff;box-shadow:0 16px 45px rgba(18,42,70,.2);color:#17324f}
.global-document-upload-monitor[hidden]{display:none}.global-document-upload-monitor header{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:10px;align-items:center;margin:0 0 10px}.global-document-upload-monitor header>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7f0fa;color:#1f5f99;font-weight:800}.global-document-upload-monitor header div{display:grid;min-width:0;gap:2px}.global-document-upload-monitor header b,.global-document-upload-monitor header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-document-upload-monitor header small{color:#617388}.global-document-upload-monitor header button{border:0;background:transparent;color:#617388;font-size:22px;line-height:1;cursor:pointer}.global-document-upload-monitor progress{display:block;width:100%;height:8px;margin:0 0 10px;accent-color:#2f78b7}.global-document-upload-monitor p{margin:0;color:#40556c;font-size:.88rem;line-height:1.45}.global-document-upload-monitor.server_received,.global-document-upload-monitor.processing{border-color:#76a9d4}.global-document-upload-monitor.complete{border-color:#70ad82;background:#f5fbf6}.global-document-upload-monitor.complete header>span{background:#ddefe1;color:#27723b}.global-document-upload-monitor.complete progress{accent-color:#3d9255}.global-document-upload-monitor.warning{border-color:#d9a441;background:#fffaf0}.global-document-upload-monitor.warning header>span{background:#f8e8bd;color:#8a5b00}.global-document-upload-monitor.warning progress{accent-color:#bc7b00}@media(max-width:640px){.global-document-upload-monitor{right:14px;bottom:14px}}
.exhibit-schedule-preview article>footer img{display:block;max-width:140px;max-height:70px;object-fit:contain;margin:8px 0}.exhibit-schedule-preview article>footer img[hidden]{display:none}

.exhibit-schedule-dialog{width:min(1380px,96vw);height:min(900px,94vh);padding:0;border:0;border-radius:18px;box-shadow:0 24px 70px rgba(15,31,52,.28);color:var(--ink,#182536)}.exhibit-schedule-dialog::backdrop{background:rgba(13,25,42,.58);backdrop-filter:blur(3px)}.exhibit-schedule-dialog>form{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#f6f7f9}.exhibit-schedule-dialog>form>header,.exhibit-schedule-dialog>form>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:#fff;border-bottom:1px solid #dfe4ea}.exhibit-schedule-dialog>form>header h2{margin:3px 0;font-size:1.35rem}.exhibit-schedule-dialog>form>header p{margin:0;color:#667181}.exhibit-schedule-dialog>form>header>button{border:0;background:transparent;font-size:1.6rem}.exhibit-schedule-dialog>form>footer{border:0;border-top:1px solid #dfe4ea;justify-content:flex-end;flex-wrap:wrap}.exhibit-schedule-dialog>form>footer [role=status]{margin-right:auto;color:#526173}.exhibit-schedule-layout{display:grid;grid-template-columns:minmax(430px,46%) minmax(420px,1fr);min-height:0}.exhibit-schedule-editor{padding:20px;overflow:auto;border-right:1px solid #dfe4ea;display:grid;align-content:start;gap:16px}.exhibit-schedule-editor>label{display:grid;gap:6px;font-weight:650}.exhibit-schedule-editor textarea,.exhibit-schedule-editor input,.exhibit-schedule-editor select{width:100%;box-sizing:border-box;border:1px solid #cdd5df;border-radius:8px;padding:9px 11px;background:#fff;font:inherit}.exhibit-schedule-fields{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px}.exhibit-schedule-fields label{display:grid;gap:5px;font-weight:650}.exhibit-source-documents,.exhibit-selected-pieces{background:#fff;border:1px solid #dfe4ea;border-radius:12px;padding:14px}.exhibit-source-documents>header{display:flex;align-items:center;justify-content:space-between}.exhibit-source-documents h3,.exhibit-selected-pieces h3{margin:0 0 8px}.exhibit-selected-pieces>p{margin:0 0 12px;color:#687587;font-size:.82rem}.exhibit-source-documents fieldset{border:0;border-top:1px solid #e7ebef;margin:10px 0 0;padding:10px 0 0}.exhibit-source-documents legend{font-size:.78rem;font-weight:750;color:#556274}.exhibit-source-documents fieldset label{display:flex;gap:8px;align-items:flex-start;padding:6px 2px;font-size:.88rem}.exhibit-source-documents input{width:auto;margin-top:2px}.exhibit-selected-row{display:grid;grid-template-columns:24px 78px minmax(0,1fr) 30px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #edf0f3}.exhibit-selected-row:first-child{border-top:0}.exhibit-selected-row>span{cursor:grab;color:#8b96a3}.exhibit-selected-row>b{font-size:.78rem}.exhibit-selected-row input{padding:7px 8px}.exhibit-selected-row button{border:0;background:transparent;color:#9b2936;font-size:1.1rem}.exhibit-schedule-preview{padding:22px;overflow:auto;background:#dfe4e9}.exhibit-schedule-preview>div{width:min(100%,680px);min-height:760px;margin:auto;background:#fff;box-shadow:0 8px 28px rgba(20,35,52,.14);padding:48px 52px;box-sizing:border-box}.exhibit-schedule-preview article{min-height:660px;display:flex;flex-direction:column;color:#19283a}.exhibit-schedule-preview article>header{display:flex;justify-content:space-between;gap:30px}.exhibit-schedule-preview article>header>div{display:grid;align-content:start}.exhibit-schedule-preview article>header>div:last-child{text-align:right}.exhibit-schedule-preview article>header>div:last-child b{font-size:1.35rem}.exhibit-schedule-preview article>header span{font-size:.72rem;color:#657183}.exhibit-schedule-preview article>hr{border:0;border-top:2px solid #213c5e;margin:22px 0}.exhibit-schedule-preview article section{margin:0 0 22px}.exhibit-schedule-preview article section>small{font-weight:800;letter-spacing:.08em;color:#697587}.exhibit-schedule-preview article h3{margin:7px 0 3px}.exhibit-schedule-preview [data-recipient]{white-space:pre-line}.exhibit-schedule-preview ol{list-style:none;padding:0;margin:10px 0}.exhibit-schedule-preview li{padding:8px 0;border-bottom:1px solid #e5e9ee;font-weight:650}.exhibit-schedule-preview article>footer{margin-top:auto;display:grid;justify-items:start}.exhibit-schedule-preview article>footer b{margin-top:12px}@media(max-width:900px){.exhibit-schedule-dialog{width:98vw;height:96vh}.exhibit-schedule-layout{grid-template-columns:1fr}.exhibit-schedule-editor{border-right:0}.exhibit-schedule-preview{min-height:520px}.exhibit-schedule-fields{grid-template-columns:1fr}.exhibit-schedule-preview>div{padding:34px 28px;min-height:650px}}
.matter-participants-workspace{display:grid;gap:18px}.matter-participants-workspace>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.matter-participants-workspace>section{padding:20px;border:1px solid #dce3ec;border-radius:14px;background:#fff}.matter-participants-workspace>section>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.matter-participant-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:17px;border:1px solid #e0e6ed;border-radius:12px;background:#fbfcfd}.matter-participant-card small{color:#9a7440;font-size:.62rem;font-weight:850;text-transform:uppercase}.matter-participant-card h3{margin:5px 0;color:#1e3457}.matter-participant-card b,.matter-participant-card p,.matter-participant-card cite{display:block;margin-top:5px;color:#536177;font-size:.72rem;line-height:1.45}.matter-participant-card cite{color:#8490a1}.matter-participant-card footer{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}.matter-participant-card footer button{padding:7px 9px;border:1px solid #cfd8e5;border-radius:7px;background:#fff;color:#29466f;font-weight:750}.matter-participant-card.status-detected{border-left:4px solid #c59a4e}.matter-participant-dialog{width:min(760px,calc(100vw - 32px));padding:0;border:0;border-radius:16px}.matter-participant-dialog form>header,.matter-participant-dialog form>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px}.matter-participant-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:4px 22px 20px}.matter-participant-fields label{display:grid;gap:6px}.matter-participant-fields .wide{grid-column:1/-1}.matter-participant-dialog [role=status]{padding:0 22px;color:#8b332d}@media(max-width:700px){.matter-participants-workspace>header{flex-direction:column}.matter-participant-fields{grid-template-columns:1fr}.matter-participant-fields .wide{grid-column:auto}}
.matter-participant-conflict{margin-top:12px;padding:11px;border:1px solid #ead49f;border-radius:9px;background:#fff8e8}.matter-participant-conflict strong{color:#694f1d}.matter-participant-conflict dl{display:grid;gap:7px;margin:8px 0 0}.matter-participant-conflict dl div{display:grid;grid-template-columns:120px 1fr;gap:8px}.matter-participant-conflict dt{color:#8a7447;font-size:.64rem;font-weight:800}.matter-participant-conflict dd{margin:0;color:#4f493c;font-size:.7rem}
.bonus-card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:13px;border-top:1px solid #e1e6ed}.bonus-action-notice{margin:0;color:#7a5c28;font-size:.72rem;line-height:1.45}.bonus-action-notice.success{color:#326147}.bonus-card-actions button{flex:0 0 auto}@media(max-width:700px){.bonus-card-actions{align-items:stretch;flex-direction:column}}
.matter-participant-analyzer{margin:18px 0;padding:18px;border:1px solid var(--border-color,#d9dee7);border-radius:16px;background:var(--surface-soft,#f7f9fc);display:grid;gap:14px}.matter-participant-analyzer h3,.matter-participant-analyzer p{margin:4px 0}.matter-participant-analyzer .contextual-document-intake{margin:0}.matter-existing-acts-dialog{width:min(720px,calc(100vw - 32px))}.matter-existing-acts-dialog form>header{display:flex;justify-content:space-between;gap:18px}.matter-existing-acts-dialog [data-act-list]{display:grid;gap:8px;max-height:52vh;overflow:auto;margin:16px 0}.matter-existing-act{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border-color,#d9dee7);border-radius:12px}.matter-existing-act span{display:grid;gap:3px}.matter-participants-workspace [data-pending]>button{margin:0 0 12px}
.matter-participant-group{margin-top:18px}.matter-participant-group>h4{margin:0 0 9px;color:var(--text-muted,#596273);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.matter-participant-group>div{display:grid;gap:10px}.matter-participant-relation-proposal{border-style:dashed}
.bonus-card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.bonus-card-actions .bonus-action-notice{flex:1 1 320px}.bonus-payment-dialog{width:min(720px,calc(100vw - 32px))}
/* Contrastes WCAG AA pour les libellés compacts de la barre supérieure. */
.app-breadcrumb span { color: #805c2d; }
.global-search > label { color: #56657a; }
#ui-size-reset { color: #3f4f66; }
.carla-dock { background: #183153 !important; color: #fff !important; }
.carla-dock > b { color: #fff !important; }
.matter-summary-toc{display:grid;gap:10px;margin:16px 0;padding:14px;border:1px solid #d8e2ee;border-radius:12px;background:#f7f9fc}.matter-summary-toc>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.matter-summary-toc>header>div,.matter-summary-toc>div{display:flex;flex-wrap:wrap;gap:7px}.matter-summary-toc button{min-height:32px;padding:6px 10px;border:1px solid #c8d5e4;border-radius:999px;background:#fff;color:#315984;font-size:.75rem;font-weight:700}.matter-summary-toc button.active{background:#315984;color:#fff}.matter-summary-body .summary-executive{padding:18px;border-left:4px solid #315984;border-radius:8px;background:#edf4fc}.matter-summary-body .summary-attention{padding:16px;border-left:4px solid #b47a18;background:#fff9ed}.matter-summary-body .summary-deadlines{padding:16px;border-left:4px solid #5179a5;background:#f5f8fc}.matter-summary-body .summary-actions{padding:16px;border-left:4px solid #42785b;background:#f2f8f4}.matter-summary-section-action{margin-top:12px}.matter-summary-integrity-warning{display:grid;gap:4px;margin:12px 0;padding:12px;border:1px solid #d7a14b;border-radius:9px;background:#fff8e8;color:#704a0d}.matter-summary-body.summary-quick-view>section:not(.summary-executive):not(.summary-attention):not(.summary-deadlines):not(.summary-actions){display:none}@media(max-width:700px){.matter-summary-toc>header{align-items:flex-start;flex-direction:column}}
.matter-summary-length-dialog{width:min(760px,calc(100vw - 28px));padding:0;border:0;border-radius:16px}.matter-summary-length-dialog::backdrop{background:rgba(18,31,48,.55)}.matter-summary-length-dialog>article{display:grid;gap:18px;margin:0;padding:22px}.matter-summary-length-dialog header{display:flex;justify-content:space-between;gap:18px}.matter-summary-length-dialog header p{margin:5px 0 0;color:#607086}.matter-summary-length-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.matter-summary-length-options>button{position:relative;display:grid;align-content:start;gap:8px;min-height:150px;padding:18px;border:1px solid #cfdae7;border-radius:12px;background:#fff;color:#203858;text-align:left}.matter-summary-length-options>button:hover,.matter-summary-length-options>button:focus{border-color:#315984;background:#f2f6fb}.matter-summary-length-options>button.recommended{border-width:2px;border-color:#315984}.matter-summary-length-options span{color:#607086;font-size:.82rem;line-height:1.45}.matter-summary-length-options em{color:#315984;font-size:.7rem;font-style:normal;font-weight:800;text-transform:uppercase}.matter-summary-length-dialog footer{display:flex;justify-content:flex-end}@media(max-width:700px){.matter-summary-length-options{grid-template-columns:1fr}.matter-summary-length-options>button{min-height:0}}
.matter-summary-body>section>ul{display:grid;gap:9px;margin:10px 0;padding-left:22px}.matter-summary-body>section>ul li{padding-left:3px;line-height:1.55}.matter-summary-body .summary-actions h3{color:#315f45}.matter-summary-body .summary-actions+.summary-actions{margin-top:10px}.matter-summary-body .summary-actions .matter-summary-section-action{display:inline-flex}
.jurisdiction-finder{display:grid;gap:12px;margin:0 22px 16px;padding:15px;border:1px solid #cddae8;border-radius:12px;background:#f6f9fc}.jurisdiction-finder[hidden]{display:none}.jurisdiction-finder header b,.jurisdiction-finder header small{display:block}.jurisdiction-finder header small{margin-top:3px;color:#647489}.jurisdiction-search-fields{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:end;gap:9px}.jurisdiction-search-fields label{display:grid;gap:5px;color:#40536b;font-size:.72rem;font-weight:750}.jurisdiction-search-fields input,.jurisdiction-search-fields select{box-sizing:border-box;width:100%;min-height:40px;padding:7px 9px;border:1px solid #bac8d8;border-radius:8px;background:#fff}.jurisdiction-search-fields button{min-height:40px;padding:8px 13px;border:0;border-radius:8px;background:#315984;color:#fff;font-weight:750}.jurisdiction-legal-warning{margin:0;padding:9px 11px;border-left:4px solid #bd8121;background:#fff8e8;color:#694f1d;font-size:.72rem}.jurisdiction-results{display:grid;gap:9px}.jurisdiction-results>article{display:grid;gap:7px;padding:12px;border:1px solid #d9e1ea;border-radius:9px;background:#fff}.jurisdiction-results article header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.jurisdiction-results article header span{padding:4px 7px;border-radius:999px;background:#fff0d0;color:#6e4f18;font-size:.61rem;font-weight:800}.jurisdiction-results address{color:#344b67;font-style:normal}.jurisdiction-results article p,.jurisdiction-results>small,.jurisdiction-results>p{margin:0;color:#647489;font-size:.7rem}.jurisdiction-results article footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.jurisdiction-results article a{color:#315984;font-size:.7rem}.jurisdiction-results article button{padding:7px 10px;border:1px solid #315984;border-radius:7px;background:#fff;color:#315984;font-weight:750}@media(max-width:980px){.jurisdiction-search-fields{grid-template-columns:1fr 1fr}.jurisdiction-search-fields label:first-child{grid-column:1/-1}}@media(max-width:620px){.jurisdiction-search-fields{grid-template-columns:1fr}.jurisdiction-search-fields label:first-child{grid-column:auto}.jurisdiction-results article header,.jurisdiction-results article footer{align-items:flex-start;flex-direction:column}}
.matter-field-dialog form:has(.jurisdiction-finder:not([hidden])) .matter-value-choice>span{display:none}.matter-jurisdiction-preview{position:fixed;z-index:1400;display:none;gap:7px;box-sizing:border-box;padding:13px;border:1px solid #c9d5e3;border-radius:10px;background:#fff;color:#243b59;box-shadow:0 14px 34px rgba(16,35,59,.25)}.matter-jurisdiction-preview b,.matter-jurisdiction-preview address{overflow-wrap:anywhere}.matter-jurisdiction-preview address{font-size:.75rem;font-style:normal;line-height:1.45}.matter-jurisdiction-preview footer{display:flex;justify-content:flex-end}.matter-jurisdiction-preview [data-copy-jurisdiction-address]{display:grid;width:32px;min-height:30px;padding:0;place-items:center;border:1px solid #bdcad8;border-radius:7px;background:#f7f9fc;color:#315984;font-size:1rem}.matter-jurisdiction-preview [data-copy-jurisdiction-address].copied{border-color:#4d8a63;background:#edf7f0;color:#2e7045}
.matter-header-identity .matter-client-email,.matter-header-identity .matter-client-phone{color:#dce6f3;font-family:var(--font-body);font-size:.9rem;font-weight:400;overflow-wrap:anywhere;}

/* Show the actual interval so short appointments are distinct from all-day events. */
#calendar-events.calendar-grid.month .calendar-event time{display:block;white-space:nowrap}

/* Les événements journée entière restent sous la date, hors des créneaux. */
#calendar-events .calendar-all-day-lane{display:grid;gap:3px;margin-top:5px;text-align:left}
#calendar-events .calendar-all-day-lane:empty{display:none}
#calendar-events .calendar-all-day-lane .calendar-event-all-day{position:static;inset:auto;height:auto;min-height:24px;margin:0;grid-template-columns:minmax(0,1fr)!important;cursor:pointer}
#calendar-events .calendar-all-day-lane .calendar-event-all-day time,
#calendar-events .calendar-all-day-lane .calendar-event-all-day span,
#calendar-events .calendar-all-day-lane .calendar-event-all-day small{display:none}
#calendar-events .calendar-all-day-lane .calendar-event-all-day b{white-space:normal;overflow-wrap:anywhere}

/* Observations internes présentées comme un fil de messages. */
.client-observations .observations-thread{display:flex;flex-direction:column;gap:14px;max-height:420px;min-height:90px;overflow-y:auto;padding:18px;background:#f4f7fb;border:1px solid #e3e9f1;border-radius:14px;margin:16px 0}
.client-observations .observation-bubble{position:relative;align-self:flex-start;width:fit-content;max-width:85%;box-sizing:border-box;margin:0;padding:13px 17px;border:1px solid #dce5ef;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 2px 6px rgba(30,52,87,.04);overflow-wrap:anywhere}
.client-observations .observation-bubble.observation-own{align-self:flex-end;background:#e9f1ff;border-color:#cadcf6;border-radius:16px 16px 4px 16px}
.client-observations .observation-author{display:block;font-size:.82rem;color:#29466f}
.client-observations .observation-bubble p{margin:7px 0 10px;line-height:1.55;color:#25354a}
.client-observations .observation-bubble small{display:block;font-size:.72rem;color:#66758a}
.client-observations .observations-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.client-observations .observations-compose label{display:grid;gap:7px;min-width:0}
.client-observations .observations-compose textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:78px;border:1px solid #cbd7e6;border-radius:12px;padding:12px;font:inherit}
.client-observations .observations-compose button{padding:12px 16px;border:0;border-radius:10px;background:#29466f;color:#fff;font-weight:700;cursor:pointer}
.client-observations .observations-compose button:disabled{opacity:.6;cursor:wait}
.client-observations .observations-compose [role=status]{grid-column:1/-1;margin:0;min-height:1.3em}
@media(max-width:600px){.client-observations .observations-thread{padding:12px}.client-observations .observation-bubble{max-width:95%}.client-observations .observations-compose{grid-template-columns:1fr}.client-observations .observations-compose button{justify-self:end}}

/* La vue rapide reprend la synthèse autonome. */
.matter-summary-body .summary-executive p{white-space:pre-line}
.matter-summary-body.summary-quick-view>section:not(.summary-executive){display:none}
