/* Clarté · espace de travail 531Soft. Présentation écran exclusivement. */
@media screen {
  body.clarte {
    --blue:#2458cb; --blue2:#edf3ff; --gray:#f4f6fa; --border:#dce3ed;
    --text:#172b46; --clarte-muted:#566981; --clarte-radius:14px;
    -webkit-font-smoothing:antialiased;
  }
  .clarte .app-header-v3315 { box-shadow:0 2px 12px #172b4605; }
  .clarte-workspace strong { font-size:14px;letter-spacing:-.015em; }
  .clarte-workspace .institution-name>span { font-size:12px; }
  .clarte .app-user-menu-v3315>summary { padding:5px 8px;border-radius:10px; }
  .clarte .app-user-menu-v3315>summary:hover { background:#f1f5fb; }
  .clarte .app-user-avatar-v3315 { width:38px;height:38px;border:1px solid #d7e3fa;background:#edf3ff; }
  .clarte-version { color:#60718a;background:#f7f9fc;border-color:#e5eaf2;font-variant-numeric:tabular-nums; }
  .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);box-shadow:inset 3px 0 var(--blue);
  }
  .clarte .card { border-color:var(--border);box-shadow:0 4px 16px #172b4605; }
  .clarte .card .card { box-shadow:none; }
  .clarte h1 { letter-spacing:-.035em;font-weight:720; }
  .clarte h2 { font-size:19px;font-weight:680; }
  .clarte .cockpit-hero-v27 { padding:3px 0 5px; }
  .clarte .cockpit-hero-v27 h1 { font-size:clamp(27px,2.4vw,34px);margin:7px 0; }
  .clarte .hero-kicker-v27 { font-size:10px;letter-spacing:.14em;color:var(--blue); }
  .clarte .hero-meta-v27 { gap:8px; }
  .clarte .hero-meta-v27 span { padding:7px 11px;border-radius:7px;font-size:12px; }
  .clarte .card-label-v27 { font-size:10px;letter-spacing:.11em; }
  .clarte .cockpit-state-v27.card { background:#153354;border-color:#153354;box-shadow:0 5px 18px #10243e13; }
  .clarte .cockpit-state-v27 .state-balance-v27 { font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.035em; }
  .clarte .cockpit-state-v27 .card-label-v27 { color:#cedaeb; }
  .clarte .cockpit-state-v27 .rate-note-v27 { color:#e0e9f6;background:#ffffff08; }
  .clarte .state-eur-v27 { font-variant-numeric:tabular-nums; }
  .clarte .primary-action-grid-v27 { gap:10px; }
  .clarte .action-button-v27 { padding:17px;border-radius:10px;min-height:86px; }
  .clarte .action-button-v27 strong { font-size:14px;letter-spacing:-.01em; }
  .clarte .action-button-v27 span { margin-top:5px; }
  .clarte .action-button-v27:hover { border-color:#9bb3d7;box-shadow:0 3px 12px #172b4609;text-decoration:none; }
  .clarte .action-button-v27.action-blue:hover { background:#1d49ad;color:white; }
  .clarte .elap-pending-overview { border-top:3px solid #2458cb;padding-top:21px; }
  .clarte .elap-pending-overview h2 { font-size:20px;letter-spacing:-.025em; }
  .clarte .elap-pending-eyebrow { letter-spacing:.12em; }
  .clarte .elap-pending-schedule { background:#f3f6fb;border:1px solid #e5ebf3;border-radius:7px; }
  .clarte a.elap-pending-country { background:#fff;padding:18px;border-radius:11px;border-color:#dce4f0;box-shadow:none; }
  .clarte a.elap-pending-country:hover { background:#f8faff;border-color:#9ab6e9;box-shadow:0 4px 14px #2458cb09; }
  .clarte .elap-pending-code { border:1px solid #dbe5f8;background:#f0f5ff;border-radius:8px;color:#2554aa; }
  .clarte .elap-pending-country h3 { font-size:13px;font-weight:650;line-height:1.45; }
  .clarte .elap-pending-number { font-size:38px;font-weight:680;margin-top:16px; }
  .clarte .elap-pending-observed { color:#53657c;font-size:11px;margin-bottom:14px; }
  .clarte .elap-pending-link { padding-top:14px;margin-top:auto;border-top:1px solid #e9eef6;font-size:11px; }
  .clarte .elap-pending-refresh { min-height:42px;border-radius:8px;background:#edf3ff;border-color:#cad9f3;color:#244f9e;padding:10px 15px; }
  .clarte .elap-pending-refresh:hover:not(:disabled) { background:#e2ecff;border-color:#9bb6e8; }
  .clarte .btn { border-radius:8px;min-height:44px;font-weight:600; }
  .clarte .btn.primary { box-shadow:0 2px 3px #2458cb12; }
  .clarte .btn.primary:hover { background:#1d49ad; }
  .clarte input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.clarte select,.clarte textarea { border-color:#bbc8da;border-radius:8px; }
  .clarte :is(input,select,textarea):not([aria-invalid=true]):not(:disabled):hover { border-color:#8c9fb8; }
  .clarte input[aria-invalid=true],.clarte select[aria-invalid=true],.clarte textarea[aria-invalid=true] { border-color:var(--red); }
  .clarte :is(input,select,textarea):focus-visible { outline-color:#3165cf;outline-width:2px;outline-offset:2px; }
  .clarte .table-wrap,.clarte .journal-scroll { border-radius:10px;box-shadow:0 1px 2px #172b4604; }
  .clarte th,.clarte .journal-table-v31 th,.clarte .contract-table th,.clarte .elap-campaign-table-v3625 th { background:#f3f6fb;color:#4d607a; }
  .clarte td { border-bottom-color:#e8edf4; }
  .clarte tbody tr:hover { background:#f7faff; }
  .clarte :is(.amount,.num,.last-op-amount-v27,.journal-selection-totals strong) { font-variant-numeric:tabular-nums; }
  .clarte .badge { border-radius:6px;padding:5px 8px; }
  .clarte .journal-search,.clarte .elap-launch-v388 { background:#f7f9fc; }
  .clarte .control-grid-v27 a:hover { border-color:#a7bad8;background:#f1f6ff;text-decoration:none; }
  .clarte-footer { border-top:1px solid #dfe6f0;padding-top:16px; }
  .clarte.clarte-public .login-card { border-top:3px solid var(--blue);padding:36px;box-shadow:0 16px 44px #172b460b; }
  .clarte .login-card h1 { font-size:27px;margin-bottom:26px; }
  .clarte .login-card .btn.primary { width:100%;margin-top:10px; }
  .clarte .login-card .auth-help-v3316 { font-size:12px;line-height:1.65; }
  @media(max-width:700px) {
    .clarte .app-header-v3315 .app-topbar-v3315 { gap:10px; }
    .clarte .cockpit-hero-v27 h1 { font-size:27px; }
    .clarte .action-button-v27 { min-height:78px;padding:14px; }
    .clarte .elap-pending-countries { gap:12px; }
    .clarte.clarte-public .login-card { padding:26px;margin:28px auto; }
    .clarte .elap-pending-overview h2 { font-size:18px; }
  }
  .clarte.dashboard-density-compact .action-button-v27 { min-height:48px;padding:10px 13px; }
  @media(prefers-reduced-motion:reduce) {
    .clarte *,.clarte *:before,.clarte *:after { transition:none;animation:none; }
  }
}
