/* Clarté — socle de présentation. Aucun état métier ni document officiel modifié.
   La portée écran laisse les styles d'impression historiques indépendants. */
@media screen {
  body.clarte {
    --blue:#215ce0; --blue2:#eef3ff; --green:#187456; --red:#ae2941;
    --gray:#f3f5f9; --border:#e0e6ef; --text:#192d40;
    --if-navy:#192e4b; --if-muted:#586b80; --if-blue:#215ce0;
    --clarte-sidebar:244px; --clarte-radius:16px; --clarte-muted:#586b80;
    background:var(--gray); color:var(--text);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:14px; line-height:1.55;
  }
  .clarte [hidden] { display:none !important; }
  .clarte :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:3px solid #a66b00; outline-offset:3px;
  }
  .clarte .app-header-v3315 :is(a,button,summary):focus-visible,
  .clarte .btn:focus-visible { outline:3px solid #a66b00;outline-offset:3px; }
  .clarte a { color:var(--blue); text-underline-offset:3px; }
  .clarte a:hover { text-decoration:underline; }
  .clarte h1,.clarte h2,.clarte h3,.clarte h4 { color:var(--text); line-height:1.25; }
  .clarte h1 { font-size:clamp(25px,2.2vw,32px); letter-spacing:-.035em; font-weight:700; }
  .clarte h2 { font-size:20px; letter-spacing:-.02em; font-weight:650; }
  .clarte h3 { font-size:17px; font-weight:650; }
  .clarte p { overflow-wrap:break-word; }
  .clarte-skip { position:fixed;left:16px;top:-120px;padding:12px 18px;background:white;border:2px solid var(--blue);border-radius:8px;z-index:100; }
  .clarte-skip:focus { top:12px; }
  .clarte #main-content { scroll-margin-top:112px; }

  /* Le même menu autorisé côté serveur, disposé dans une colonne stable. */
  .clarte .app-header-v3315 { position:sticky;top:0;margin-left:var(--clarte-sidebar);background:white;box-shadow:none;border-bottom:1px solid var(--border);z-index:60; }
  .clarte .app-header-v3315 .app-topbar-v3315 { min-height:80px;padding:16px 30px;gap:18px;display:flex;align-items:center;flex-wrap:nowrap;background:white;border:0;color:var(--text); }
  .clarte .app-header-v3315 .app-brand-v3315 { position:fixed;left:0;top:0;width:var(--clarte-sidebar);min-width:0;height:100px;padding:10px 22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;background:white;border-right:1px solid var(--border);z-index:62; }
  .clarte .app-brand-logo-v3315 { width:150px;height:auto;max-width:100%;box-sizing:content-box;padding:5px 10px;object-fit:contain;flex:0 0 auto;filter:none;background:#061a3d;border-radius:6px; }
  .clarte .app-product-v3315 { min-width:0;color:var(--text); }
  .clarte .app-product-title-v3315 { display:block; }
  .clarte .app-product-title-v3315 strong { color:var(--text);font-size:14px;font-weight:750;letter-spacing:-.04em;white-space:nowrap; }
  .clarte .app-product-v3315>span { display:none;color:var(--clarte-muted);font-size:10px;font-weight:400;line-height:1.5;white-space:normal;max-width:100%; }
  .clarte-workspace { min-width:0;margin-right:auto;display:flex;align-items:center;gap:14px;flex:1 1 auto; }
  .clarte-workspace .institution-logo { width:auto;max-width:96px;height:48px;object-fit:contain;flex:0 0 auto;background:white; }
  .clarte-workspace .institution-name { min-width:0; }
  .clarte-workspace strong { display:block;font-size:13px;font-weight:650;overflow-wrap:anywhere; }
  .clarte-workspace .institution-name>span { color:var(--clarte-muted);font-size:12px; }
  .clarte-version { display:inline-block;color:var(--clarte-muted);background:#f8fafc;border:1px solid var(--border);border-radius:6px;padding:5px 9px;font-size:11px;white-space:nowrap; }
  .clarte .app-header-v3315 .app-user-menu-v3315 { margin-left:0;flex:0 0 auto; }
  .clarte .app-user-menu-v3315>summary { display:flex;align-items:center;gap:10px;background:transparent;border:0;border-radius:8px;padding:0;color:var(--text);box-shadow:none; }
  .clarte .app-user-avatar-v3315 { width:36px;height:36px;border-radius:50%;background:var(--blue2);color:var(--blue);box-shadow:none;font-size:11px;border:0; }
  .clarte .app-user-text-v3315 strong { color:var(--text);font-size:12px;font-weight:650; }
  .clarte .app-user-text-v3315>span { color:var(--clarte-muted);font-size:10px;font-weight:400; }
  .clarte .app-user-chevron-v3315 { color:var(--clarte-muted); }
  .clarte .app-user-dropdown-v3315 { background:white;border:1px solid var(--border);box-shadow:0 12px 36px #192e4b16;border-radius:12px;min-width:200px; }
  .clarte .app-account-link,.clarte .app-logout-button-v3315 { padding:10px 12px;font-size:13px;font-weight:600;border-radius:7px; }
  .clarte .app-logout-button-v3315 { color:var(--red);background:#fff4f5;border:1px solid #f2d9de; }
  .clarte .app-main-nav-v3315 { position:fixed;left:0;top:100px;bottom:0;width:var(--clarte-sidebar);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;padding:18px 16px 28px;overflow-x:hidden;overflow-y:auto;background:white;border-right:1px solid var(--border);border-bottom:0;scrollbar-width:thin;overscroll-behavior:contain; }
  .clarte .app-main-nav-v3315>a,.clarte .app-nav-group>summary { display:flex;gap:11px;align-items:center;padding:12px;border:0;border-radius:9px;background:transparent;color:var(--clarte-muted);font-size:13px;line-height:1.4;font-weight:550;white-space:normal;min-height:44px; }
  .clarte .app-nav-group { flex:0 0 auto;min-width:0; }
  .clarte .app-nav-group>summary { list-style:none;cursor:pointer; }
  .clarte .app-nav-group>summary::-webkit-details-marker { display:none; }
  .clarte .app-nav-group>summary:after { content:'›';margin-left:auto;line-height:1;font-size:18px;transform:rotate(90deg); }
  .clarte .app-nav-group[open]>summary:after { transform:rotate(-90deg); }
  .clarte .app-main-nav-v3315>a:hover,.clarte .app-nav-group>summary:hover { background:#f5f7fb;text-decoration:none; }
  .clarte .app-main-nav-v3315>a[aria-current=page],.clarte .app-main-nav-v3315>a.is-active,.clarte .app-nav-group.is-active>summary { color:var(--blue);background:var(--blue2);font-weight:650; }
  .clarte .app-nav-panel { position:static;display:flex;flex-direction:column;gap:2px;left:auto;right:auto;top:auto;margin:5px 0 10px 22px;padding:2px 0 2px 12px;border:0;border-left:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none; }
  .clarte .app-main-nav-v3315 .app-nav-panel a { flex:auto;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--clarte-muted);font-size:12px;line-height:1.45;font-weight:450;white-space:normal; }
  .clarte .app-main-nav-v3315 .app-nav-panel a:hover,.clarte .app-main-nav-v3315 .app-nav-panel a[aria-current=page] { color:var(--blue);background:var(--blue2); }
  .clarte-nav-icon { width:18px;height:18px;display:inline-block;flex:0 0 18px;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:18px; }
  .clarte-icon-home { mask-image:url("../img/clarte/home.32c5aba6338a.svg"); }
  .clarte-icon-cash { mask-image:url("../img/clarte/cash.2a757a20cd8a.svg"); }
  .clarte-icon-campaigns { mask-image:url("../img/clarte/campaigns.deb05e310f1e.svg"); }
  .clarte-icon-bank { mask-image:url("../img/clarte/bank.eccd36c188cf.svg"); }
  .clarte-icon-documents { mask-image:url("../img/clarte/documents.84e0d9927ad1.svg"); }
  .clarte-icon-administration { mask-image:url("../img/clarte/administration.93769d6b4272.svg"); }
  .clarte .clarte-menu-toggle { display:none; }
  body.clarte .container,body.clarte.dashboard-density-compact .container { width:auto;max-width:1600px;min-width:0;margin:30px 30px 30px calc(var(--clarte-sidebar) + 30px);padding:0; }
  .clarte-footer { display:flex;justify-content:space-between;gap:16px;margin:24px 30px 24px calc(var(--clarte-sidebar) + 30px);color:var(--clarte-muted);font-size:11px; }

  /* Composants communs : les couleurs d'erreur et les états restent distincts. */
  .clarte .card { background:white;border:1px solid var(--border);border-radius:var(--clarte-radius);padding:24px;box-shadow:0 3px 18px #192e4b04;min-width:0; }
  .clarte .card+.card { margin-top:20px; }
  .clarte .card .card { border-radius:12px;box-shadow:none; }
  .clarte .form-card { max-width:min(100%,900px); }
  .clarte .title-row { gap:18px;align-items:flex-start;flex-wrap:wrap; }
  .clarte .title-row h1 { margin-bottom:12px; }
  .clarte .title-row>div { min-width:0; }
  .clarte .actions { flex-wrap:wrap;gap:10px; }
  .clarte .btn { font:600 13px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;display:inline-block;min-height:42px;max-width:100%;padding:10px 15px;border:1px solid var(--border);border-radius:9px;background:white;color:var(--text);text-decoration:none;box-shadow:none;white-space:normal;vertical-align:middle; }
  .clarte .btn:hover { background:#f5f7fb;border-color:#b2c2d8;text-decoration:none; }
  .clarte .btn.primary { background:var(--blue);border-color:var(--blue);color:white; }
  .clarte .btn.primary:hover { background:#1748b8;border-color:#1748b8; }
  .clarte .btn.secondary { background:var(--blue2);border-color:var(--blue2);color:#204ca9; }
  .clarte .btn.danger { background:var(--red);border-color:var(--red);color:white; }
  .clarte button:disabled,.clarte input:disabled,.clarte select:disabled,.clarte textarea:disabled { cursor:not-allowed;opacity:.65; }
  .clarte label { color:var(--text);font-size:13px;font-weight:600;line-height:1.5; }
  .clarte input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),.clarte select,.clarte textarea { max-width:100%;min-height:42px;border:1px solid #bcc8d7;border-radius:8px;background:white;color:var(--text);font:400 14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;padding:10px 12px;box-shadow:none; }
  .clarte textarea { resize:vertical; }
  .clarte input[type=checkbox],.clarte input[type=radio] { width:18px;height:18px;min-width:18px;accent-color:var(--blue);vertical-align:middle; }
  .clarte input[type=file] { padding:8px;font-size:12px; }
  .clarte input[type=file]::file-selector-button { border:0;border-radius:5px;background:var(--blue2);color:#204ca9;padding:6px 9px;margin-right:8px;cursor:pointer; }
  .clarte input[aria-invalid=true],.clarte select[aria-invalid=true],.clarte textarea[aria-invalid=true] { border-color:var(--red); }
  .clarte .helptext,.clarte .field-help-v32 { font-size:12px;color:var(--clarte-muted);font-weight:400;line-height:1.6; }
  .clarte .hint,.clarte .hintline-v27 { background:#f5f7fb;border:0;border-left:2px solid #c5d2e6;border-radius:0 6px 6px 0;padding:10px 12px;color:var(--clarte-muted);font-size:12px;line-height:1.65;font-weight:400; }
  .clarte .warning-box-v24,.clarte .message.warning { border:1px solid #e8d3a2;border-left:3px solid #a66b00;background:#fff7e8;color:#715318;border-radius:9px; }
  .clarte .message { background:#edf7f1;border:1px solid #cde5d7;border-left:3px solid var(--green);color:#185b40;border-radius:9px;font-size:13px; }
  .clarte .message.error,.clarte .error-box { color:#8d2035;background:#fff0f2;border-color:#efc5ce;border-left-color:var(--red); }
  .clarte .errorlist { color:var(--red);font-size:13px;font-weight:550; }
  .clarte .badge { display:inline-block;background:var(--blue2);color:#204ca9;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600; }
  .clarte details>summary { cursor:pointer;line-height:1.6; }
  .clarte main details>summary { color:var(--text);font-size:14px;font-weight:600;padding:8px 0; }
  .clarte main details[open]>summary { margin-bottom:12px; }
  .clarte fieldset { min-width:0;border:1px solid var(--border);border-radius:12px;padding:20px;margin:20px 0; }
  .clarte legend { color:var(--text);font-size:14px;font-weight:650;padding:0 8px; }
  .clarte dl { line-height:1.6; }
  .clarte dt { color:var(--clarte-muted);font-weight:550; }
  .clarte dd { overflow-wrap:anywhere; }
  .clarte pre { max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7fb;border-radius:8px;padding:12px;font-size:12px; }

  /* Tableaux : valeurs intactes, contraste plus doux et rythme régulier. */
  .clarte table { background:white;font-size:13px; }
  .clarte th { background:#f4f7fb;color:#435870;font-size:11px;font-weight:650;letter-spacing:.035em;border-bottom:1px solid var(--border);padding:13px 12px;line-height:1.5; }
  .clarte td { border-bottom:1px solid var(--border);padding:13px 12px;line-height:1.55; }
  .clarte th a,.clarte .journal-sort-link { color:inherit; }
  .clarte tbody tr:hover { background:#f8faff; }
  .clarte td.num,.clarte th.num,.clarte .amount,.clarte .state-balance-v27 { font-variant-numeric:tabular-nums; }
  .clarte .table-wrap,.clarte .journal-scroll { border:1px solid var(--border);border-radius:10px;max-width:100%;overscroll-behavior-x:contain; }
  .clarte .journal-table-v31 { font-size:12px; }
  .clarte .journal-table-v31 th { background:#f4f7fb;color:#435870; }
  .clarte .journal-table-v31 td,.clarte .journal-table-v31 th { padding:12px 10px; }
  .clarte .journal-card { max-width:100%;width:100%; }
  .clarte .journal-card .journal-table thead th a.journal-sort-link,
  .clarte .journal-card .journal-table thead th a.journal-sort-link:visited,
  .clarte .journal-card .journal-table thead th a.journal-sort-link:hover { color:#435870; }
  .clarte .journal-card .journal-table thead th a.journal-sort-link:focus-visible { outline:3px solid #a66b00; }
  .clarte .journal-card .journal-table thead th[aria-sort=ascending],
  .clarte .journal-card .journal-table thead th[aria-sort=descending] { background:#e9f0fc; }
  .clarte .journal-search { background:#f8faff;border:1px solid var(--border);border-radius:12px;padding:20px; }
  .clarte .journal-search h2,.clarte .journal-selection h2 { font-size:17px; }
  .clarte .journal-selection-totals>div { background:white;border:1px solid var(--border);border-radius:12px;padding:18px; }
  .clarte .journal-selection-totals strong { color:var(--text);font-size:21px;font-weight:650; }
  .clarte .journal-scope-note { color:var(--clarte-muted);font-size:12px; }
  .clarte .journal-scroll-tools { color:var(--clarte-muted);font-size:12px; }
  .clarte .journal-filter-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); }

  /* Accueil : vrais soldes, contrôles et réglages de réduction conservés. */
  .clarte .cockpit-hero-v27 { display:flex;justify-content:space-between;gap:20px;padding:0 0 8px;background:transparent;border:0;border-radius:0;box-shadow:none; }
  .clarte .cockpit-hero-v27:before { content:none; }
  .clarte .hero-kicker-v27,.clarte .card-label-v27 { color:var(--clarte-muted);font-size:11px;font-weight:650;letter-spacing:.10em;text-transform:uppercase; }
  .clarte .cockpit-hero-v27 h1 { font-size:30px;line-height:1.2;margin:10px 0; }
  .clarte .cockpit-hero-v27 p { color:var(--clarte-muted);font-size:13px;margin-top:8px; }
  .clarte .hero-meta-v27 { align-self:center; }
  .clarte .hero-meta-v27 span { border:1px solid var(--border);background:white;box-shadow:none;color:var(--clarte-muted);font-size:11px;font-weight:550;border-radius:6px; }
  .clarte .cockpit-grid-v27 { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;margin-top:22px; }
  .clarte .cockpit-grid-v27>.card,.clarte .cockpit-lower-v27>.card { margin-top:0;padding:24px;border-radius:16px; }
  .clarte .cockpit-state-v27.card { background:#192e4b;border-color:#192e4b;color:white; }
  .clarte .cockpit-state-v27 .card-label-v27 { color:#bfcee4; }
  .clarte .cockpit-state-v27 .state-balance-v27 { color:white;font-size:clamp(32px,3vw,46px);font-weight:700;letter-spacing:-.04em;margin-top:20px; }
  .clarte .cockpit-state-v27 .state-eur-v27 { color:#d3def0;font-size:14px;font-weight:400; }
  .clarte .cockpit-state-v27 .rate-note-v27 { background:#ffffff0d;border:1px solid #ffffff24;color:#d3def0;line-height:1.65;font-size:11px;border-radius:8px; }
  .clarte .cockpit-state-v27 .state-mini-grid-v27>div { background:transparent;border:0;border-top:1px solid #ffffff26;border-radius:0;padding:14px 0 0; }
  .clarte .cockpit-state-v27 .state-mini-grid-v27 span { color:#bfcee4;font-size:11px; }
  .clarte .cockpit-state-v27 .state-mini-grid-v27 strong { color:white;font-size:12px;font-weight:500; }
  .clarte .cockpit-state-v27 .compact-summary-v30 strong,.clarte .cockpit-state-v27 .compact-summary-v30 span { color:white; }
  .clarte .collapse-toggle-v29 { width:30px;height:30px;min-width:30px;min-height:30px;padding:0;border:1px solid var(--border);border-radius:7px;background:white;color:var(--clarte-muted);font-size:18px;box-shadow:none; }
  .clarte .cockpit-state-v27 .collapse-toggle-v29 { border-color:#ffffff44;background:#ffffff10;color:white; }
  .clarte .primary-action-grid-v27 { gap:12px;margin-top:20px; }
  .clarte .action-button-v27 { display:block;min-height:78px;padding:16px;border:1px solid var(--border);border-radius:10px;background:white;color:var(--text);box-shadow:none;text-decoration:none; }
  .clarte .action-button-v27 strong { display:block;color:inherit;font-size:15px;font-weight:650; }
  .clarte .action-button-v27 span { display:block;color:var(--clarte-muted);font-size:12px;line-height:1.5;font-weight:400; }
  .clarte .action-button-v27.action-blue { background:var(--blue);color:white;border-color:var(--blue); }
  .clarte .action-button-v27.action-blue span { color:#e1eaff; }
  .clarte .action-button-v27:hover { border-color:#809bc7;box-shadow:0 3px 12px #192e4b0b; }
  .clarte .cockpit-lower-v27 { grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px; }
  .clarte .checklist-v27 { gap:12px; }
  .clarte .checklist-v27 li { font-size:12px;line-height:1.65;font-weight:450;color:var(--text); }
  .clarte .checklist-v27 li span { width:22px;height:22px;background:#edf1f7;color:var(--clarte-muted);border:0; }
  .clarte .checklist-v27 li.ok span { background:#e9f6ed;color:var(--green); }
  .clarte .checklist-v27 li.warn span { background:#fff4de;color:#805711; }
  .clarte .soft-callout-v27 { background:var(--blue2);color:#204ca9;border:0;font-size:12px;font-weight:550; }
  .clarte .control-grid-v27 { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .clarte .control-grid-v27 a,.clarte .control-grid-v27 .nav-disabled { display:block;background:#f8faff;border:1px solid var(--border);border-radius:8px;box-shadow:none; }
  .clarte .control-grid-v27 a span { color:var(--clarte-muted);font-size:11px; }
  .clarte .control-grid-v27 a strong { color:var(--text);font-size:12px; }
  .clarte .control-grid-v27 a.critical { border-color:#efd2d8;background:#fff8f9; }
  .clarte .inline-links-v27 a { background:var(--blue2);border:0;color:#204ca9;font-size:12px;font-weight:600; }
  .clarte .last-op-amount-v27 { font-size:25px; }
  .clarte .cockpit-trend-v3517 { max-width:none;width:auto;margin-top:22px; }
  .clarte .settings-fields-v32 .setting-field-v32 { background:#f8faff;border:1px solid var(--border);border-radius:10px;box-shadow:none; }
  .clarte .operation-form-card-v26 { max-width:1000px; }
  .clarte .form-kicker-v26 { color:var(--clarte-muted);font-size:11px;letter-spacing:.10em;font-weight:650; }
  .clarte .operation-header-v26 { background:transparent;border:0;padding:0;margin-bottom:24px; }
  .clarte .operation-balance-strip-v3517 { background:#f2f6ff;border:1px solid #dce6fc;border-radius:10px;padding:12px 16px; }
  .clarte .operation-balance-strip-v3517 strong { color:var(--text); }
  .clarte .inventory-card { border-radius:16px; }
  .clarte .inventory-summary>div { background:#f8faff;border-color:var(--border);border-radius:10px; }
  .clarte .denomination-row { border-color:var(--border);border-radius:10px;background:white; }
  .clarte .denomination-row input { font-variant-numeric:tabular-nums; }
  .clarte .inventory-grid .denomination-row input { width:88px;min-width:88px; }

  /* Les écrans spécialisés héritent du socle, leurs panneaux restent en place. */
  .clarte .admin-menu-section>h2 { color:var(--text);font-size:22px;scroll-margin-top:110px; }
  .clarte .admin-menu-section .card>h3 { color:var(--text);font-size:18px; }
  .clarte .elap-summary-v388,.clarte .elap-meta-v388,.clarte .v38-header-indicators,.clarte .elap-execution-summary-v3810 { gap:12px; }
  .clarte .v38-panel,.clarte .v38-arbitrage-item,.clarte .v38-evidence-block { border-color:var(--border);border-radius:10px;box-shadow:none; }
  .clarte .elap-live-panel-v388,.clarte .elap-live-tail-v388,.clarte .elap-execution-log-v3810 { border-color:var(--border);border-radius:10px;font-size:12px; }
  .clarte .elap-live-row-v3625 { border-color:var(--border);border-radius:10px;background:#f8faff; }
  .clarte .elap-launch-v388 { border-color:var(--border);border-radius:12px;background:#f8faff; }
  .clarte .v38-decision-select,.clarte .v3813-rejection-select { min-width:160px; }
  .clarte .campaign-history-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); }
  .clarte .contract-table th,.clarte .elap-campaign-table-v3625 th { background:#f4f7fb;color:#435870; }
  .clarte .contract-table td,.clarte .elap-campaign-table-v3625 td { padding:13px 12px; }
  .clarte .banking-card,.clarte .banking-panel { border-color:var(--border);border-radius:12px;box-shadow:none; }
  .clarte .sgci-payments,.clarte .gh-table { font-size:12px; }
  .clarte .sgci-payments textarea,.clarte .gh-table textarea { border-color:#bcc8d7; }

  /* Préférences existantes : la réduction/densité restent déterminantes. */
  .clarte.dashboard-density-compact .card { padding:18px; }
  .clarte.dashboard-density-compact .cockpit-grid-v27,.clarte.dashboard-density-compact .cockpit-lower-v27 { gap:16px;margin-top:16px; }
  .clarte.dashboard-density-compact .action-button-v27 { min-height:48px;padding:10px 13px; }
  .clarte.dashboard-density-compact .state-balance-v27 { font-size:36px; }
  .clarte.dashboard-density-compact .cockpit-hero-v27 { padding:0 0 6px; }
  .clarte.dashboard-density-compact .cockpit-trend-v3517 { max-width:760px; }
  .clarte.clarte-public .app-header-v3315 { margin-left:0; }
  .clarte.clarte-public .app-header-v3315 .app-brand-v3315 { position:static;width:auto;height:auto;padding:0;border:0;margin-right:auto; }
  body.clarte.clarte-public .container { max-width:1000px;margin:36px auto;padding:0 20px; }
  .clarte.clarte-public .clarte-footer { max-width:960px;margin:24px auto;padding:0 20px; }
  .clarte .login-card { max-width:460px;margin:50px auto;padding:32px; }

  @media(min-width:1900px) {
    body.clarte .container { margin-left:calc(var(--clarte-sidebar) + (100vw - var(--clarte-sidebar) - 1600px)/2);margin-right:calc((100vw - var(--clarte-sidebar) - 1600px)/2); }
    body.clarte.clarte-public .container { margin-left:auto;margin-right:auto; }
  }
  @media(max-width:1350px) {
    .clarte .cockpit-lower-v27 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .clarte .controls-card-v27 { grid-column:1/-1; }
    .clarte .controls-card-v27 .control-grid-v27 { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .clarte .app-user-text-v3315>span { display:none; }
  }
  @media(max-width:1150px) {
    body.clarte { --clarte-sidebar:220px; }
    .clarte .app-header-v3315 .app-topbar-v3315 { padding:16px 22px;gap:12px; }
    .clarte .app-header-v3315 .app-brand-v3315 { padding:10px 14px; }
    body.clarte .container,body.clarte.dashboard-density-compact .container { margin-left:calc(var(--clarte-sidebar) + 22px);margin-right:22px; }
    .clarte .cockpit-grid-v27 { grid-template-columns:1fr; }
    .clarte-version { font-size:10px; }
  }
  @media(max-width:1000px) {
    .clarte .app-header-v3315 { margin-left:0; }
    .clarte .app-header-v3315 .app-topbar-v3315 { min-height:76px;padding:14px 20px;gap:14px;flex-wrap:wrap; }
    .clarte .app-header-v3315 .app-brand-v3315 { position:static;width:auto;height:auto;padding:0;border:0;flex:1 1 auto; }
    .clarte-workspace { display:flex;order:4;flex:1 0 100%;margin:0;padding-top:8px;border-top:1px solid var(--border);gap:10px; }
    .clarte-workspace .institution-logo { height:32px;max-width:80px; }
    .clarte .clarte-menu-toggle:not([hidden]) { display:inline-flex;gap:7px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--text);font-size:12px;min-height:42px; }
    .clarte .app-main-nav-v3315 { position:static;width:auto;max-height:calc(100dvh - 140px);border-right:0;border-top:1px solid var(--border);padding:12px 20px 18px; }
    .clarte.clarte-navigation-ready:not(.clarte-navigation-open) .app-main-nav-v3315 { display:none; }
    .clarte .app-main-nav-v3315>a,.clarte .app-nav-group>summary { padding:11px 12px; }
    .clarte .app-nav-panel { max-height:none;overflow:visible; }
    body.clarte .container,body.clarte.dashboard-density-compact .container { margin:26px 22px;padding:0; }
    .clarte-footer { margin:22px; }
    .clarte .cockpit-grid-v27 { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
    .clarte .app-user-text-v3315 { display:none; }
    .clarte .app-user-dropdown-v3315 { right:0;left:auto; }
  }
  @media(max-width:700px) {
    .clarte .app-header-v3315 .app-topbar-v3315 { padding:12px 16px;gap:10px; }
    .clarte .app-product-v3315>span,.clarte .app-user-chevron-v3315 { display:none; }
    .clarte .app-product-title-v3315 strong { font-size:16px; }
    .clarte .app-brand-logo-v3315 { width:100px;height:auto;flex-basis:auto; }
    .clarte-version { display:none; }
    .clarte .app-header-v3315 .app-brand-v3315 { gap:2px; }
    .clarte .clarte-menu-toggle:not([hidden]) { font-size:11px;padding:8px; }
    body.clarte .container,body.clarte.dashboard-density-compact .container { margin:22px 16px;padding:0; }
    .clarte-footer { margin:22px 16px;flex-wrap:wrap; }
    .clarte .card,.clarte .cockpit-grid-v27>.card,.clarte .cockpit-lower-v27>.card { padding:20px;border-radius:13px; }
    .clarte .cockpit-hero-v27 { flex-wrap:wrap;gap:8px; }
    .clarte .cockpit-hero-v27 h1 { font-size:27px; }
    .clarte .hero-meta-v27 { justify-content:flex-start; }
    .clarte .cockpit-grid-v27,.clarte .cockpit-lower-v27 { grid-template-columns:1fr;gap:18px; }
    .clarte .controls-card-v27 { grid-column:auto; }
    .clarte .controls-card-v27 .control-grid-v27 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .clarte .state-mini-grid-v27 { grid-template-columns:1fr; }
    .clarte .state-mini-grid-v27>div { padding-top:10px; }
    .clarte .title-row { display:block; }
    .clarte .title-row>div+div { margin-top:16px; }
    .clarte .title-row .btn { margin-top:6px; }
    .clarte .actions { gap:8px; }
    .clarte dl { grid-template-columns:1fr;gap:4px; }
    .clarte dd { margin-bottom:12px; }
    .clarte fieldset { padding:16px; }
    .clarte .journal-search { padding:16px; }
    .clarte .journal-selection-totals { grid-template-columns:1fr; }
    .clarte .journal-selection-totals strong { font-size:19px; }
    .clarte .table-wrap,.clarte .journal-scroll { border-radius:8px; }
    .clarte .login-card { padding:24px;margin:30px auto; }
    .clarte.clarte-public .clarte-version { display:inline-block;font-size:10px; }
  }
  @media(prefers-reduced-motion:reduce) {
    .clarte *,.clarte *:before,.clarte *:after { scroll-behavior:auto;transition:none;animation:none; }
  }
}
@media print {
  .clarte .clarte-skip,.clarte .clarte-menu-toggle,.clarte .clarte-footer { display:none; }
}

@media screen {
 body.clarte-marketing{background:#f3f5f9;color:#192d40;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
 .clarte-marketing header{max-width:1040px;padding:28px 32px;border-color:#e0e6ef}
 .clarte-marketing main{max-width:1040px;border:1px solid #e0e6ef;border-radius:16px;padding:40px;box-shadow:0 3px 18px #192e4b04}
 .clarte-marketing h1{color:#192d40;letter-spacing:-.035em}
 .clarte-marketing h2{color:#192d40;letter-spacing:-.02em}
 .clarte-marketing a{color:#215ce0}
 .clarte-marketing .button{background:#215ce0;color:white;border-radius:9px}
 .clarte-marketing a:focus-visible{outline:3px solid #a66b00;outline-offset:3px}
 @media(max-width:700px){.clarte-marketing main{margin:16px;padding:24px}.clarte-marketing header{padding:22px 18px}}
}

/* Accès aux documents et suivi : présentation seule. */
@media screen {
 .clarte .document-identity-previews,.clarte .automation-metrics { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px;margin:18px 0; }
 .clarte .document-identity-previews>div,.clarte .automation-metrics>div { min-width:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:#f8faff; }
 .clarte .document-identity-previews img { display:block;width:100%;max-width:240px;height:100px;object-fit:contain;background:white;border:1px solid var(--border);border-radius:8px; }
 .clarte .automation-overview { margin:22px 0;padding:18px;border:1px solid var(--border);border-radius:12px; }
 .clarte .automation-metrics dt { color:var(--clarte-muted);font-size:12px; }
 .clarte .automation-metrics dd { margin:4px 0 0;font-size:22px;font-weight:700;color:var(--text); }
 .clarte #document-identity { scroll-margin-top:115px; }
}

/* Daily ELAP aggregates: consultation and country navigation only. */
@media screen {
  .clarte .elap-pending-overview { margin:22px 0; padding:24px; }
  .clarte .elap-pending-overview .title-row { align-items:center; gap:16px; flex-wrap:wrap; }
  .clarte .elap-pending-overview h2 { margin:5px 0 0; }
  .clarte .elap-pending-eyebrow { color:var(--blue); font-size:10px; font-weight:750; letter-spacing:.13em; }
  .clarte .elap-pending-schedule { font-size:12px; color:var(--clarte-muted); background:#f3f6fb; border-radius:20px; padding:7px 12px; }
  .clarte .elap-pending-countries { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:20px; }
  .clarte a.elap-pending-country { display:flex; flex-direction:column; min-width:0; padding:20px; border:1px solid var(--border); border-radius:12px; color:var(--text); background:linear-gradient(150deg,#fff,#f7f9fd); text-decoration:none; transition:border-color .15s,box-shadow .15s; }
  .clarte a.elap-pending-country:hover { border-color:#8aa9ed; box-shadow:0 5px 18px #192e4b0c; }
  .clarte .elap-pending-country-heading { display:flex; align-items:center; gap:10px; min-height:38px; }
  .clarte .elap-pending-country h3 { margin:0; font-size:14px; }
  .clarte .elap-pending-code { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; color:var(--blue); background:#eaf0ff; border:1px solid #dce6ff; border-radius:9px; font-size:11px; font-weight:750; }
  .clarte .elap-pending-number { margin:15px 0 0; font-size:42px; font-weight:700; letter-spacing:-.04em; line-height:1.15; font-variant-numeric:tabular-nums; }
  .clarte .elap-pending-unit { font-size:12px; color:var(--clarte-muted); margin-top:3px; }
  .clarte .elap-pending-country .hint { font-size:11px; line-height:1.55; margin:12px 0 0; }
  .clarte .elap-pending-link { display:flex; justify-content:space-between; gap:8px; color:var(--blue); font-size:12px; font-weight:650; padding-top:18px; margin-top:auto; }
}
@media screen and (max-width:1100px) { .clarte .elap-pending-countries { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media screen and (max-width:540px) { .clarte .elap-pending-countries { grid-template-columns:1fr; } .clarte .elap-pending-overview { padding:18px; } }

@media screen {
  .clarte .elap-pending-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
  .clarte .elap-pending-refresh-form { margin:0; }
  .clarte .elap-pending-refresh { border:1px solid #b7c9ec; background:#eff4ff; color:#234fa8; border-radius:9px; padding:9px 16px; font-weight:650; cursor:pointer; }
  .clarte .elap-pending-refresh:disabled { opacity:.6; cursor:wait; }
  .clarte .elap-pending-observed { display:block!important; font-size:12px; line-height:1.6; margin:12px 0 0; color:#475569; }
  .clarte .elap-pending-note { font-size:12px; color:#475569; }
  .clarte .elap-pending-queued { display:block; margin-top:10px; font-size:11px; line-height:1.5; color:#7c520e; }
  .clarte .elap-pending-feedback { font-size:12px; color:#475569; margin:10px 0 0; }
  .clarte .elap-pending-feedback:empty { display:none; }
}
