/* =============================================================
     IRONGS BASE — Design system (refonte UI/UX)
     ----------------------------------------------------------------
     Palette : bleu administratif SGDI + gris clair professionnel
     Tokens via variables CSS — toute modif se propage partout
     ============================================================= */
  :root{
    /* Couleurs neutres */
    --bg:#ffffff;
    --bg-soft:#f3f4f6;
    --surface:#ffffff;
    --surface-2:#f8fafc;
    --border:#eef2f7;
    --border-strong:#d3d9e3;
    --text:#0f172a;
    --text-soft:#475569;
    --text-mute:#94a3b8;

    /* Couleur primaire SGDI */
    --primary:#043970;
    --primary-strong:#032f5d;
    --primary-soft:#e8f0f8;
    --primary-ring:rgba(4,57,112,.18);
    --primary-grad:#043970;

    /* Couleurs sémantiques */
    --success:#475569;
    --success-soft:#f1f5f9;
    --info:#043970;
    --info-soft:#e8f0f8;
    --warn:#475569;
    --warn-soft:#f1f5f9;
    --danger:#b91c1c;
    --danger-soft:#fee2e2;

    /* Modules transverses (couleurs identité) */
    --mod-drh:#043970;
    --mod-finances:#043970;
    --mod-commercial:#8b5cf6;
    --mod-materiel:#043970;
    --mod-ops:#1e40af;
    --mod-pointage:#043970;
    --mod-admin:#dc2626;

    /* Sociétés */
    --soc-igs:#043970;
    --soc-igsol:#043970;
    --soc-sword:#8b5cf6;
    --soc-construction:#043970;

    /* Élévations */
    --shadow-xs:0 1px 2px rgba(15,23,42,.05);
    --shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
    --shadow:0 4px 12px rgba(15,23,42,.06),0 2px 4px rgba(15,23,42,.04);
    --shadow-lg:0 12px 28px rgba(15,23,42,.10),0 4px 10px rgba(15,23,42,.05);
    --shadow-xl:0 24px 60px rgba(15,23,42,.14),0 6px 16px rgba(15,23,42,.06);

    /* Rayons */
    --r-xs:6px;--r-sm:8px;--r:10px;--r-lg:14px;--r-xl:18px;
  }
  *{box-sizing:border-box}
  html,body{height:100%}
  html,body,#app{background:var(--bg)!important}
  main,#view{background:var(--bg)!important}
  #view{width:100%!important;max-width:none!important}
  #view > [class*="max-w-"]{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
  body{font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  ::selection{background:var(--primary-ring);color:var(--text)}

  /* ----- SIDEBAR ----- */
  .sidebar{
    background:#fff!important;
    border-right:1px solid #e2e8f0!important;
    width:250px!important;min-width:250px!important;max-width:250px!important;flex:0 0 250px!important;
    color:#0f2d5a!important;box-shadow:none!important;text-align:left!important;
  }
  .sidebar,.sidebar *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;letter-spacing:0!important}
  .sidebar .px-5{padding-left:18px!important;padding-right:18px!important}
  .sidebar .py-5{padding-top:18px!important;padding-bottom:16px!important}
  .sidebar-brand{border-color:#e2e8f0!important;text-align:left!important;background:#f8fafc!important}

  .sidebar-atlas-brand{
    color:#0f2d5a!important;
    font-size:34px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.02em!important;
    text-transform:uppercase!important;
  }
  .sidebar-module-title{color:#0f2d5a!important;font-size:28px!important;font-weight:950!important;line-height:1!important;letter-spacing:-.02em!important;text-align:left!important}
  .sidebar-console-label{color:#2563eb!important;font-size:12px!important;font-weight:600!important;margin-top:6px;text-transform:uppercase;text-align:left!important}
  .sidebar nav{
    background:#fff!important;
    display:flex!important;flex-direction:column!important;
    padding:18px 12px 12px!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent;
  }
  .sidebar nav::-webkit-scrollbar{width:4px}
  .sidebar nav::-webkit-scrollbar-track{background:transparent}
  .sidebar nav::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:999px}
  .sidebar nav:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18)}
  .sidebar .card{background:#f1f5f9!important;border:1px solid #e2e8f0!important;box-shadow:none!important;color:#0f2d5a!important;border-radius:8px!important;text-align:left!important}
  .sidebar .card *{color:#0f2d5a!important}.sidebar .text-slate-500,.sidebar .text-slate-400{color:#475569!important}
  .nav-link,.sub-link,.nav-group{
    width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;
    padding:10px 14px!important;margin:0!important;border:0!important;border-radius:8px!important;
    background:transparent!important;color:#0f2d5a!important;text-align:left!important;text-transform:uppercase!important;
    font-size:12px!important;font-weight:500!important;line-height:1.2!important;cursor:pointer!important;
    transition:background .14s,color .14s,box-shadow .14s!important;contain:layout!important;
  }
  .nav-group{display:flex!important;justify-content:flex-start!important;user-select:none!important}
  .nav-group>span:first-child{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;width:100%!important}
  #sidebar-nav>.nav-link+ .nav-link,#sidebar-nav>.nav-link+ .nav-group,#sidebar-nav>.nav-group+ .nav-link,#sidebar-nav>.nav-group+ .nav-group,#sidebar-nav>.sub-link+ .sub-link{margin-top:6px!important}
  #sidebar-nav>.nav-link.nav-gap-before{margin-top:2cm!important;position:relative!important}
  #sidebar-nav>.nav-link.nav-gap-before::before{content:""!important;position:absolute!important;left:14px!important;right:14px!important;top:-1cm!important;height:2px!important;background:#cbd5e1!important;border-radius:999px!important;opacity:.95!important}
  #sidebar-nav>.nav-link:first-child,#sidebar-nav>.nav-group:first-child,#sidebar-nav>.sub-link:first-child{margin-top:0!important}
  .nav-label{display:block!important;min-width:0!important;max-width:100%!important;padding:0!important;margin:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;color:inherit!important;text-align:left!important;line-height:1.2!important}
  .sidebar .ico,.sidebar .arrow,.sidebar .sub-link>span:first-child,.nav-link .ico,.nav-group .ico{display:none!important}
  .nav-link:hover,.sub-link:hover,.nav-group:hover{background:rgba(37,99,235,.07)!important;color:#1d4ed8!important}
  .nav-link:hover .nav-label,.sub-link:hover .nav-label,.nav-group:hover .nav-label{color:#1d4ed8!important}
  .nav-link.active,.sub-link.active{
    background:rgba(37,99,235,.1)!important;color:#1d4ed8!important;
    box-shadow:inset 4px 0 0 #2563eb!important;font-weight:600!important;
  }
  .nav-link.active .nav-label,.sub-link.active .nav-label{color:#1d4ed8!important;text-align:left!important}
  .nav-count,.nav-link .nav-count,.sub-link .nav-count{
    justify-self:end!important;margin-left:10px!important;background:#2563eb!important;color:#fff!important;
    font-size:10px!important;font-weight:950!important;min-width:20px;height:19px;border-radius:9999px;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 6px!important;line-height:1!important;box-shadow:none!important;
  }
  .nav-newtab-btn{position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;padding:0!important;border:0!important;border-radius:4px!important;background:transparent!important;color:#94a3b8!important;cursor:pointer!important;opacity:0!important;transition:opacity .15s,background .15s,color .15s!important;line-height:1!important;flex-shrink:0!important}
  .nav-link:hover .nav-newtab-btn{opacity:1!important}
  .nav-newtab-btn:hover{background:rgba(37,99,235,.12)!important;color:#2563eb!important}
  .sgdi-sidebar-collapsed .nav-newtab-btn{display:none!important}
  .gestion-badge{position:absolute;top:-8px;right:-8px;background:#2563eb;color:#fff;font-size:10px!important;font-weight:950;min-width:23px;height:23px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;line-height:1;border:2px solid #fff;box-shadow:none}
  .sidebar-back{margin-top:0!important;margin-bottom:10px!important;border-top:1px solid #e2e8f0!important;padding:10px 12px 0!important}
  .sidebar-back .btn{width:100%!important;justify-content:center!important;background:transparent!important;border:1px solid #cbd5e1!important;color:#0f2d5a!important;border-radius:8px!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important}
  .sidebar-back .btn:hover{background:rgba(37,99,235,.07)!important;color:#1d4ed8!important}
  #sidebar-back-slot:empty{display:none!important}
  .sidebar-user{background:#f8fafc!important;border-top:1px solid #e2e8f0!important;color:#0f2d5a!important}
  .sidebar-user .avatar{background:#2563eb!important;color:#fff!important;border:0!important;font-weight:950!important}
  .sidebar-user-name{color:#0f2d5a!important;font-size:12px!important;font-weight:850!important;line-height:1.1!important}
  .sidebar-user-role{color:#64748b!important;font-size:11px!important;font-weight:650!important;line-height:1.1!important;text-transform:uppercase}
  .sidebar-user .btn{background:transparent!important;border:1px solid #cbd5e1!important;color:#0f2d5a!important;border-radius:8px!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important}
  .sidebar-user .btn:hover{background:rgba(37,99,235,.07)!important;color:#1d4ed8!important}

  /* ── IRON GLOBAL SÉCURITÉ — sidebar blanc (même thème que les autres) ── */
  body[data-soc="igs"] .sidebar{background:#fff!important;border-right-color:#e2e8f0!important;color:#0f2d5a!important}
  body[data-soc="igs"] .sidebar-brand{background:#f8fafc!important;border-color:#e2e8f0!important}
  body[data-soc="igs"] .sidebar nav{background:#fff!important}
  /* ─────────────────────────────────────────────────────────────────────── */

  html,body,#app,#view{overflow-anchor:none!important;scroll-behavior:auto!important}
  .sgdi-navigation-stable #sidebar-nav,.sgdi-navigation-stable #view{overflow-anchor:none!important;scroll-behavior:auto!important}
  .sgdi-navigation-stable .nav-link,.sgdi-navigation-stable .sub-link,.sgdi-navigation-stable .nav-group,.sgdi-navigation-stable .drh-workforce-item,.sgdi-navigation-stable .module-counter-item{transition:none!important}

  .sgdi-shell{width:100%;min-width:0;overflow:hidden}
  .sgdi-shell-body{min-height:0;width:100%;min-width:0}
  .sgdi-topbar{width:100%;min-width:0;display:grid!important;grid-template-columns:minmax(290px,1fr) minmax(420px,auto) minmax(270px,1fr);align-items:center!important;gap:12px!important;background:#f8fafc!important}
  .sgdi-topbar-left{min-width:0;max-width:100%}
  .sgdi-topbar-left-module{min-width:0!important;max-width:none!important}
  .sgdi-topbar-module-title{font-size:15px;font-weight:800;line-height:1.1;white-space:nowrap}
  .sgdi-topbar-module-title-active{font-size:22px!important;font-weight:950!important;letter-spacing:.01em;white-space:nowrap;text-transform:uppercase}
  .sgdi-view{padding:0 4px 24px!important;width:100%;max-width:none;overflow-x:hidden}
  .module-counters-ribbon,.drh-workforce-ribbon{flex:0 0 auto;height:auto;min-height:68px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(clamp(118px,calc((100vw - 292px) / var(--ribbon-count,7)),188px),1fr);grid-template-columns:none;gap:clamp(4px,.55vw,7px);padding:clamp(5px,.65vw,8px);background:#fff;border-bottom:1px solid #dbe3ef;box-shadow:0 6px 16px rgba(15,23,42,.06);z-index:35;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;align-items:stretch;contain:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .module-counters-ribbon::-webkit-scrollbar,.drh-workforce-ribbon::-webkit-scrollbar{height:5px}
  .module-counters-ribbon::-webkit-scrollbar-thumb,.drh-workforce-ribbon::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
  .module-counter-item,.drh-workforce-item{min-width:0;height:auto;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr 1fr;column-gap:5px;align-items:center;text-decoration:none;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid var(--drh-color);border-radius:7px;padding:clamp(4px,.55vw,7px);line-height:1.05;transition:background .15s,box-shadow .15s;scroll-snap-align:start}
  .module-counter-item:hover,.drh-workforce-item:hover{background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.09)}
  .module-counter-label,.drh-workforce-label{min-width:0;font-size:clamp(8px,.68vw,9.5px);font-weight:950;color:#475569;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .module-counter-value,.drh-workforce-value{grid-row:1/3;grid-column:2;font-size:clamp(15px,1.28vw,20px);font-weight:950;color:var(--drh-color);font-variant-numeric:tabular-nums;line-height:1}
  .module-counter-pct,.drh-workforce-pct{font-size:clamp(8px,.62vw,9px);font-weight:850;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  @media(max-width:1180px){.module-counters-ribbon,.drh-workforce-ribbon{grid-auto-columns:minmax(126px,31vw);height:auto;min-height:68px}.module-counter-item,.drh-workforce-item{padding:5px 7px}.module-counter-label,.drh-workforce-label{font-size:9px}.module-counter-value,.drh-workforce-value{font-size:17px}}
  @media(max-width:700px){.module-counters-ribbon,.drh-workforce-ribbon{grid-auto-columns:minmax(124px,44vw);height:auto;min-height:68px;padding:5px 6px}}

  .societe-structure-bar{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 4px 12px rgba(15,23,42,.05);z-index:20}
  .societe-structure-inner{min-height:58px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 16px}
  .societe-active-pill{display:inline-flex;align-items:center;gap:8px;background:#0f172a;color:#fff;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
  .structure-tab{display:inline-flex;align-items:center;gap:7px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;white-space:nowrap;transition:all .15s}
  .structure-tab:hover{background:#eef2ff;color:#043970;border-color:#04397066}
  .structure-tab.active{background:#043970;color:#fff;border-color:#043970}
  .topbar-structure-tabs{display:flex;align-items:center;justify-content:center;justify-self:center;gap:3px;flex-wrap:nowrap;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:3px;background:#fff;border:1px solid #dbe3ef;border-radius:999px;box-shadow:0 8px 20px rgba(15,23,42,.08)}
  .topbar-structure-btn{height:32px;min-width:82px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#64748b;border-radius:999px;padding:0 12px;font-size:11px!important;font-weight:900;white-space:nowrap;cursor:pointer;transition:all .15s;flex:0 0 82px;text-align:center}
  .topbar-structure-btn:hover{background:#f1f5f9;color:#043970}
  .topbar-structure-btn.active{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important;box-shadow:0 5px 12px rgba(22,163,74,.28)}

  .sgdi-topbar-actions{min-width:0;justify-self:end;justify-content:flex-end}
  .topbar-back-btn{height:34px!important;min-width:128px!important;border-radius:999px!important;background:var(--sgdi-btn-yellow)!important;color:var(--sgdi-btn-text)!important;border:2px solid var(--sgdi-btn-border,#facc15)!important;font-weight:950!important;box-shadow:0 6px 14px rgba(15,23,42,.12)!important}
  .topbar-societe-btn{height:34px!important;border-radius:999px!important;background:#fff!important;border:1px solid #dbe3ef!important;color:#0f172a!important;font-weight:900!important;padding:0 13px!important;box-shadow:none!important;white-space:nowrap}
  .sgdi-lang-choice{margin-bottom:0!important;align-items:center!important}
  .sgdi-lang-choice span{display:none!important}
  .sgdi-lang-choice .btn{height:30px!important;min-width:32px!important;border-radius:999px!important;padding:0 9px!important}
  .topbar-dialogue-btn{height:34px;border:0;background:var(--sgdi-btn-yellow);color:var(--sgdi-btn-text);border:2px solid var(--sgdi-btn-border,#facc15);border-radius:999px;padding:0 12px;font-size:11px!important;font-weight:950;display:inline-flex;align-items:center;gap:7px;box-shadow:0 6px 14px rgba(15,23,42,.14);cursor:pointer;white-space:nowrap;position:relative}
  .sgdi-mail-icon,.sgdi-alert-icon{width:17px!important;height:17px!important;display:block!important;flex:0 0 17px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.3!important;stroke-linecap:round!important;stroke-linejoin:round!important;visibility:visible!important}
  .topbar-dialogue-btn:hover{background:var(--sgdi-btn-yellow-hover);color:var(--sgdi-btn-text);border-color:var(--sgdi-btn-border,#facc15)}
  .topbar-dialogue-btn.has-unread{animation:dialogueTopbarBlink .85s infinite;box-shadow:0 0 0 3px rgba(220,38,38,.18),0 8px 18px rgba(220,38,38,.28)}
  .topbar-dialogue-btn.has-unread:before{content:"";position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:999px;background:#dc2626;border:2px solid #fff;box-shadow:0 0 0 4px rgba(220,38,38,.18)}
  .topbar-dialogue-btn .badge{background:#dc2626;color:#fff;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;font-size:10px;font-weight:950}
  .pointage-dialogue-style-btn{height:34px!important;padding:0 14px!important;text-decoration:none!important;margin-top:8px}
  .pointage-daily-blink-btn{
    animation:pointageDailyBlink 1.05s ease-in-out infinite;
    border-color:#0ea5e9!important;
    box-shadow:0 0 0 0 rgba(14,165,233,.32),0 6px 14px rgba(15,23,42,.12)!important;
  }
  @keyframes pointageDailyBlink{
    0%,100%{
      background:#eaf6ff;
      color:#043970;
      box-shadow:0 0 0 0 rgba(14,165,233,.28),0 6px 14px rgba(15,23,42,.12);
    }
    50%{
      background:#043970;
      color:#fff;
      box-shadow:0 0 0 5px rgba(14,165,233,.16),0 8px 18px rgba(4,57,112,.22);
    }
  }
  .topbar-notification-btn{height:34px;border:0;background:#dc2626;color:#fff;border-radius:999px;padding:0 12px;font-size:11px!important;font-weight:950;display:inline-flex;align-items:center;gap:7px;box-shadow:0 0 0 3px rgba(220,38,38,.16),0 8px 20px rgba(220,38,38,.28);cursor:pointer;white-space:nowrap;position:relative;text-transform:uppercase;letter-spacing:.02em}
  .topbar-notification-btn:hover{background:#b91c1c;color:#fff}
  .topbar-notification-btn.has-alert{animation:notificationBlink .8s infinite;box-shadow:0 0 0 3px rgba(220,38,38,.24),0 8px 22px rgba(220,38,38,.36)}
  .topbar-notification-btn.has-alert:before{content:"";position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:999px;background:#fff;border:2px solid #dc2626;box-shadow:0 0 0 5px rgba(220,38,38,.18)}
  .topbar-notification-btn .badge{background:#fff;color:#dc2626;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;font-size:10px;font-weight:950}
  @keyframes dialogueTopbarBlink{0%,100%{background:#facc15}50%{background:#fee2e2}}
  @keyframes notificationBlink{0%,100%{filter:brightness(1)}50%{filter:brightness(1.22)}}
  .ops-dot-counter-alert{animation:opsDotCounterBlink .85s infinite;border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.14),0 10px 24px rgba(220,38,38,.2)!important}
  .ops-dot-row-alert{animation:opsDotCounterBlink .85s infinite}
  @keyframes opsDotCounterBlink{0%,100%{filter:brightness(1)}50%{filter:brightness(1.16)}}
  body:has(.sgdi-login-page),html:has(.sgdi-login-page),body:has(.sgdi-login-page) #app{background:#fff!important;background-image:none!important}
  .sgdi-login-page{min-height:100vh;background:#fff!important;background-image:none!important;color:#061b42;position:relative;overflow:auto}
  .sgdi-login-main{min-height:100svh;width:min(900px,92vw);margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(58px,11vh,150px) 0 clamp(70px,9vh,110px);background:#fff!important;background-image:none!important}
  .sgdi-login-brand{font-size:clamp(58px,7vw,84px);line-height:.9;font-weight:950;letter-spacing:.015em;color:#000;text-shadow:0 8px 14px rgba(0,0,0,.28);margin-bottom:clamp(18px,3vh,32px)}
  .sgdi-login-brand i{font-style:normal;color:#061b42;margin-left:6px;text-shadow:0 8px 14px rgba(0,0,0,.18)}
  .sgdi-login-subtitle{font-size:clamp(13px,1.4vw,16px);font-weight:500;letter-spacing:.03em;color:#061b42;text-transform:uppercase;margin-bottom:clamp(62px,15vh,178px)}
  .sgdi-login-form{width:min(470px,100%);background:transparent;border-radius:0;padding:0;box-shadow:none;display:grid;gap:26px}
  .sgdi-login-form label{color:#061b42;font-size:15px;font-weight:950;line-height:1;margin-bottom:-16px}
  .sgdi-login-form input{width:100%;height:56px;border:0;border-radius:16px;background:#fff;color:#061b42;font-size:20px;font-weight:800;padding:0 20px;outline:none;box-shadow:0 12px 20px rgba(15,23,42,.22)}
  .sgdi-login-form input:focus{box-shadow:0 0 0 4px rgba(4,57,112,.18),0 12px 20px rgba(15,23,42,.22)}
  .sgdi-login-submit{width:min(350px,70vw);height:52px;border:0;border-radius:24px;background:#061b2f;color:#fff;font-size:18px;font-weight:950;box-shadow:0 22px 34px rgba(15,23,42,.24);margin-top:clamp(46px,9vh,98px);cursor:pointer}
  .sgdi-login-submit:hover{background:#082a44;transform:translateY(-1px)}
  .sgdi-login-submit:active{transform:translateY(0)}
  .login-admin-system-shortcut{position:fixed;right:clamp(24px,5vw,88px);bottom:clamp(24px,5vh,58px);z-index:20;border:0;background:transparent;color:#061b42;height:auto;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:clamp(15px,1.8vw,23px);font-weight:500;letter-spacing:0;box-shadow:none;cursor:pointer;text-transform:none}
  .login-admin-system-shortcut:hover{color:#0b4593;text-decoration:underline}

  @media (max-width:767px){
    .sgdi-shell{overflow-x:hidden!important}
    .sgdi-topbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;padding:7px 8px!important;overflow:visible!important;grid-template-columns:none!important}
    .sgdi-topbar-left,.sgdi-topbar-left-module{order:1!important;min-width:0!important;max-width:100%!important;flex:1 1 100%!important;gap:8px!important}
    .sgdi-topbar-module-title{font-size:13px!important;white-space:normal!important;line-height:1.15!important}
    .sgdi-topbar-module-title-active{font-size:18px!important;white-space:normal!important;line-height:1.05!important}
    .topbar-structure-tabs{order:2!important;flex:1 1 100%!important;width:100%!important;justify-content:flex-start!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:3px!important;-webkit-overflow-scrolling:touch}
    .topbar-structure-btn{height:30px!important;min-width:68px!important;flex:0 0 68px!important;padding:0 8px!important;font-size:10px!important}
    .sgdi-topbar-actions{order:3!important;flex:1 1 100%!important;width:100%!important;margin-left:0!important;display:flex!important;justify-content:flex-start!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:2px!important;-webkit-overflow-scrolling:touch}
    .topbar-dialogue-btn,.topbar-notification-btn,.sgdi-topbar-actions>.btn{height:30px!important;flex:0 0 auto!important;padding:0 9px!important;font-size:10px!important}
    .sgdi-lang-choice{margin-bottom:0!important;flex:0 0 auto!important}
    .sgdi-lang-choice span{display:none!important}
    .sgdi-lang-choice .btn{height:30px!important;padding:0 8px!important;font-size:10px!important}
    .module-counters-ribbon,.drh-workforce-ribbon{grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(124px,44vw)!important;gap:5px!important;padding:5px 6px!important;height:auto!important;min-height:68px!important;overflow-x:auto!important;overflow-y:visible!important}
    .module-counter-item,.drh-workforce-item{padding:5px 6px!important;border-radius:6px!important;min-width:0!important;height:auto!important;min-height:68px!important}
    .module-counter-label,.drh-workforce-label{font-size:8.8px!important;white-space:normal!important;line-height:1.05!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
    .module-counter-value,.drh-workforce-value{font-size:16px!important}
    #view{padding:8px 8px 14px!important;max-width:100vw!important;overflow-x:hidden!important}
    .modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100svh - 16px)!important;border-radius:10px!important}
    table{font-size:11px!important}
    th,td{padding:7px!important}
  }
  @media (max-width:420px){
    .module-counters-ribbon,.drh-workforce-ribbon{grid-template-columns:none!important;grid-auto-columns:minmax(118px,72vw)!important;height:auto!important;min-height:68px!important}
    .topbar-structure-btn{min-width:64px!important;flex-basis:64px!important}
    .sgdi-topbar-module-title-active{font-size:16px!important}
  }

  @media(max-width:760px){.sgdi-login-main{padding:34px 0 92px}.sgdi-login-brand{font-size:64px;margin-bottom:90px}.sgdi-login-subtitle{font-size:18px;text-align:center;margin-bottom:42px}.sgdi-login-form{width:min(420px,88vw)}.sgdi-login-form label{font-size:16px}.sgdi-login-form input{height:54px;border-radius:14px}.sgdi-login-submit{height:54px;margin-top:72px;font-size:18px;width:min(360px,78vw)}.login-admin-system-shortcut{right:24px;bottom:24px;font-size:16px}}
  body:has(.sgdi-societe-page),html:has(.sgdi-societe-page),body:has(.sgdi-societe-page) #app{background:#fff!important;background-image:none!important}
  .sgdi-societe-page{min-height:100vh;background:#fff!important;background-image:none!important;color:#061b42;position:relative;overflow:auto}
  .sgdi-societe-main{min-height:100svh;width:min(1080px,92vw);margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:clamp(58px,11vh,150px) 0 clamp(90px,11vh,120px);background:#fff!important;background-image:none!important}
  .sgdi-societe-brand{font-size:clamp(58px,7vw,84px);line-height:.9;font-weight:950;letter-spacing:.015em;color:#000;text-shadow:0 8px 14px rgba(0,0,0,.28);margin-bottom:clamp(18px,3vh,32px)}
  .sgdi-societe-brand i{font-style:normal;color:#061b42;margin-left:6px;text-shadow:0 8px 14px rgba(0,0,0,.18)}
  .sgdi-societe-subtitle{font-size:clamp(13px,1.4vw,16px);font-weight:500;letter-spacing:.03em;color:#061b42;text-transform:uppercase;margin-bottom:clamp(76px,16vh,185px)}
  .sgdi-societe-selector{width:min(780px,100%);align-self:center;margin-left:0}
  .sgdi-soc-cards-grid{display:flex;flex-wrap:wrap;gap:12px;padding:18px 22px 22px;justify-content:center}
  .sgdi-soc-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 20px 14px;border-radius:16px;background:#fff;border:2px solid #e2e8f0;cursor:pointer;min-width:140px;max-width:160px;transition:border-color .15s,box-shadow .15s,transform .12s;box-shadow:0 2px 8px rgba(15,23,42,.07)}
  .sgdi-soc-card:hover{border-color:#2563eb;box-shadow:0 6px 18px rgba(37,99,235,.15);transform:translateY(-2px)}
  .sgdi-soc-card--all{border-color:#bfdbfe}
  .sgdi-soc-card-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#1e293b;text-align:center;line-height:1.3}
  .sgdi-societe-title{font-size:25px;line-height:1.05;font-weight:400;letter-spacing:.005em;color:#061b42;margin:0 0 18px}
  .sgdi-societe-input-wrap{width:min(780px,100%);height:clamp(58px,7vh,68px);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.24);display:grid;grid-template-columns:1fr clamp(92px,11vh,112px);align-items:center;padding:0 6px 0 22px}
  .sgdi-societe-select{width:100%;height:100%;border:0;background:#fff;color:#061b42;font-size:20px;font-weight:400;outline:none;appearance:none;-webkit-appearance:none;padding:0 18px 0 0}
  .sgdi-societe-select:invalid{color:#061b42}
  .sgdi-societe-select option{color:#061b42;background:#fff;font-weight:400}
  .sgdi-societe-access{width:clamp(84px,10vh,104px);height:clamp(46px,5.8vh,56px);border-radius:16px;border:0;background:#061b42;color:#fff;font-size:clamp(26px,3vh,32px);font-weight:400;font-family:Arial,Helvetica,sans-serif;font-style:normal;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(6,27,66,.28);cursor:pointer}
  .sgdi-societe-access:hover{background:#082a5f;transform:translateY(-1px)}
  .sgdi-societe-actions{position:fixed;left:clamp(24px,7vw,140px);right:clamp(24px,5vw,88px);bottom:clamp(58px,8vh,92px);z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;pointer-events:none}
  .sgdi-societe-edit,.sgdi-societe-logout{width:190px;height:44px;border:0;border-radius:999px;background:#fff;color:#061b42;padding:0 18px;font-size:15px;font-weight:800;box-shadow:0 10px 24px rgba(15,23,42,.18);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;pointer-events:auto}
  .sgdi-societe-edit:hover,.sgdi-societe-logout:hover{color:#0b4593;transform:translateY(-1px)}
  .sgdi-societe-bottom{position:fixed;left:clamp(24px,7vw,140px);bottom:clamp(24px,4vh,42px);color:#061b42}
  .sgdi-societe-user{font-size:15px;font-weight:500;color:#061b42}
  .sgdi-societe-user strong{font-weight:950;color:#061b42;text-transform:uppercase}
  .company-portal-user strong{font-weight:950;color:#061b42;text-transform:uppercase}
  .sgdi-societe-admin{position:fixed;right:clamp(24px,5vw,88px);bottom:clamp(24px,6vh,74px);border:0;background:transparent;color:#991b1b;font-size:14px;font-weight:900;cursor:pointer}
  @media(max-width:980px){.sgdi-societe-main{padding-top:88px}.sgdi-societe-subtitle{margin-bottom:96px}.sgdi-societe-selector{align-self:center;margin-left:0}.sgdi-societe-actions{left:32px;right:32px;bottom:62px}.sgdi-societe-bottom{left:32px;bottom:28px}.sgdi-societe-admin{right:32px;bottom:32px}}
  @media(max-width:640px){.sgdi-societe-main{width:min(430px,88vw);padding-top:48px}.sgdi-societe-brand{font-size:64px}.sgdi-societe-subtitle{font-size:14px;margin-bottom:80px}.sgdi-societe-title{font-size:25px}.sgdi-societe-input-wrap{height:62px;grid-template-columns:1fr 88px;padding-left:14px}.sgdi-societe-access{width:80px;height:48px;border-radius:14px;font-size:26px}.sgdi-societe-actions{left:18px;right:18px;bottom:58px;gap:10px}.sgdi-societe-edit,.sgdi-societe-logout{width:150px;height:38px;padding:0 12px;font-size:12px}.sgdi-societe-bottom{left:22px;bottom:24px}.sgdi-societe-user{font-size:15px}.sgdi-societe-admin{right:22px;bottom:24px;font-size:11px}}
  .societe-band-btn:hover{background:#dff3ff!important;color:#0360a8!important;border-color:#7dd3fc!important}
  .societe-band-btn:hover *{color:#0360a8!important}
  body:has(.company-portal),html:has(.company-portal),body:has(.company-portal) #app{background:#fff!important;background-image:none!important}
  .company-portal{min-height:100vh;width:100vw;min-width:100%;background:#fff!important;background-image:none!important;position:relative;overflow:auto;color:#061b42;isolation:isolate}
  .company-portal:before{content:"";position:fixed;inset:0;background:#fff;z-index:-1;pointer-events:none}
  .company-portal-main{width:100%;max-width:none;min-height:100svh;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(56px,7vh,76px) max(6vw,24px) clamp(70px,8vh,86px);background:#fff!important;background-image:none!important}
  body:has(.company-portal-yellow),html:has(.company-portal-yellow),body:has(.company-portal-yellow) #app{background:#fff8dc!important;background-image:linear-gradient(135deg,#fffdf2 0%,#fff3b0 44%,#ffe98a 100%)!important}
  .company-portal.company-portal-yellow{background:#fff8dc!important;background-image:linear-gradient(135deg,#fffdf2 0%,#fff3b0 44%,#ffe98a 100%)!important}
  .company-portal.company-portal-yellow:before{background:linear-gradient(135deg,#fffdf2 0%,#fff3b0 44%,#ffe98a 100%)!important}
  .company-portal.company-portal-yellow .company-portal-main{background:transparent!important;background-image:none!important}
  body:has(.company-portal-orange),html:has(.company-portal-orange),body:has(.company-portal-orange) #app{background:#fff1e6!important;background-image:linear-gradient(135deg,#fffaf5 0%,#ffd8b5 44%,#ffbd7a 100%)!important}
  .company-portal.company-portal-orange{background:#fff1e6!important;background-image:linear-gradient(135deg,#fffaf5 0%,#ffd8b5 44%,#ffbd7a 100%)!important}
  .company-portal.company-portal-orange:before{background:linear-gradient(135deg,#fffaf5 0%,#ffd8b5 44%,#ffbd7a 100%)!important}
  .company-portal.company-portal-orange .company-portal-main{background:transparent!important;background-image:none!important}
  body:has(.company-portal-blue),html:has(.company-portal-blue),body:has(.company-portal-blue) #app{background:#eaf6ff!important;background-image:linear-gradient(135deg,#f8fcff 0%,#cfeeff 44%,#9fddff 100%)!important}
  .company-portal.company-portal-blue{background:#eaf6ff!important;background-image:linear-gradient(135deg,#f8fcff 0%,#cfeeff 44%,#9fddff 100%)!important}
  .company-portal.company-portal-blue:before{background:linear-gradient(135deg,#f8fcff 0%,#cfeeff 44%,#9fddff 100%)!important}
  .company-portal.company-portal-blue .company-portal-main{background:transparent!important;background-image:none!important}
  .company-portal-logo-wrap{width:clamp(160px,21vw,260px);height:clamp(160px,21vw,260px);border-radius:50%;display:flex;align-items:center;justify-content:center;filter:none;margin-bottom:clamp(24px,5vh,42px);transform:translateY(clamp(-70px,-9vh,-18px));animation:companyLogoEnter .72s cubic-bezier(.2,.75,.2,1) both}
  .company-portal-logo{width:100%;height:100%;object-fit:contain}
  .company-portal-logo-spacer{height:clamp(48px,10vh,96px)}
  .company-portal-title{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:#64748b;margin-top:clamp(-24px,-3vh,-8px);margin-bottom:clamp(24px,5vh,44px);animation:companyFadeUp .58s ease .16s both}
  .company-portal-grid{width:min(680px,64vw);display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:clamp(12px,2.5vh,20px) clamp(14px,2.5vw,22px);align-items:stretch;transform:translateY(3cm)}
  .company-portal-module{height:auto;min-height:clamp(80px,9vh,100px);border:1.5px solid #e2e8f0;border-radius:16px;background:#fff;color:#0f172a;font-size:clamp(10px,.9vw,13px);font-weight:950;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 4px 14px rgba(15,23,42,.08);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;overflow:hidden;animation:companyButtonEnter .52s cubic-bezier(.2,.75,.2,1) both}
  .company-portal-module:nth-child(1){animation-delay:.20s}.company-portal-module:nth-child(2){animation-delay:.27s}.company-portal-module:nth-child(3){animation-delay:.34s}.company-portal-module:nth-child(4){animation-delay:.41s}.company-portal-module:nth-child(5){animation-delay:.48s}.company-portal-module:nth-child(6){animation-delay:.55s}
  .company-portal-module:hover{transform:translateY(-3px);border-color:#2563eb;box-shadow:0 12px 28px rgba(37,99,235,.14)}
  .cpm-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
  .cpm-label{line-height:1.15;word-break:break-word;hyphens:auto}
  .company-portal-module:active{transform:translateY(0)}
  .company-portal-foot{margin-top:42px;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.08em;animation:companyFadeUp .52s ease .68s both}
  .company-portal-logout,.company-portal-change{position:fixed;top:22px;z-index:5;border:1px solid #dbeafe;background:#fff;color:#0f172a;border-radius:999px;height:38px;padding:0 14px;font-size:12px;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.12);cursor:pointer}
  .company-portal-logout{right:22px}
  .company-portal-change{left:22px}
  .company-portal-logout:hover,.company-portal-change:hover{background:#f8fafc}
  .company-portal-user{position:fixed;left:28px;bottom:28px;z-index:5;color:#061b42;font-size:18px;font-weight:500}
  @keyframes companyLogoEnter{from{opacity:0;transform:translateY(calc(clamp(-70px,-9vh,-18px) + 22px)) scale(.94)}to{opacity:1;transform:translateY(clamp(-70px,-9vh,-18px)) scale(1)}}
  @keyframes companyButtonEnter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes companyFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
  @media(prefers-reduced-motion:reduce){.company-portal-logo-wrap,.company-portal-title,.company-portal-module,.company-portal-foot{animation:none!important}}
  @media(max-height:780px){
    .sgdi-login-main{padding-top:42px;padding-bottom:52px}.sgdi-login-brand{font-size:58px;margin-bottom:14px}.sgdi-login-subtitle{margin-bottom:48px}.sgdi-login-form{gap:20px}.sgdi-login-form input{height:50px}.sgdi-login-submit{height:48px;margin-top:38px}
    .sgdi-societe-main{padding-top:42px;padding-bottom:86px}.sgdi-societe-brand{font-size:58px;margin-bottom:14px}.sgdi-societe-subtitle{margin-bottom:56px}.sgdi-societe-title{font-size:27px}.sgdi-societe-input-wrap{height:58px}.sgdi-societe-access{width:86px;height:46px;font-size:26px}.sgdi-societe-actions{bottom:54px}.sgdi-societe-edit,.sgdi-societe-logout{height:44px;font-size:15px}
    .company-portal-main{justify-content:flex-start;padding-top:54px}.company-portal-logo-wrap{width:150px;height:150px;margin-bottom:8px}.company-portal-title{margin-top:-18px;margin-bottom:18px}.company-portal-grid{width:min(560px,58vw);gap:14px 24px}.company-portal-module{min-height:80px;font-size:12px}.company-portal-foot{margin-top:18px}
  }
  @media(max-width:980px){.company-portal-main{justify-content:flex-start;padding-top:72px}.company-portal-logo-wrap{width:220px;height:220px;margin-bottom:42px}.company-portal-logo-spacer{height:72px}.company-portal-title{margin-top:-24px;margin-bottom:32px}.company-portal-grid{width:min(500px,82vw);grid-template-columns:repeat(2,minmax(130px,1fr));gap:18px 22px}.company-portal-module{min-height:80px;font-size:clamp(12px,2vw,15px);padding:12px 8px}}
  @media(max-width:560px){.company-portal-main{width:min(420px,90vw);padding-top:84px}.company-portal-logo-wrap{width:180px;height:180px}.company-portal-logo-spacer{height:54px}.company-portal-grid{width:min(280px,78vw);grid-template-columns:1fr;gap:12px;transform:translateY(1.8cm)}.company-portal-module{height:38px;font-size:clamp(11px,3.4vw,14px);padding:0 10px}.company-portal-title{text-align:center;font-size:11px}.company-portal-logout,.company-portal-change{top:14px;height:34px;font-size:10px}.company-portal-logout{right:12px}.company-portal-change{left:12px}.company-portal-user{left:18px;bottom:18px;font-size:14px}}

  /* ----- CARDS ----- */
  .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);transition:box-shadow .15s,transform .15s}
  .card:hover{box-shadow:var(--shadow-sm)}
  .card h3{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-weight:600}
  .card-soft{background:var(--surface-2);border:1px solid var(--border)}
  /* Neutralise les contours colorés : bordures uniformes gris clair */
  .card[style*="border-top"],
  .card[style*="border-left"],
  .card[style*="border:1px"],
  .card[style*="border:2px"],
  button[style*="border:1px"],
  button[style*="border:2px"],
  a[style*="border:1px"],
  a[style*="border:2px"],
  .btn[style*="border:1px"],
  .btn[style*="border:2px"]{border-color:var(--border)!important}
  .card[style*="border-top"]{border-top:1px solid var(--border)!important}
  .card[style*="border-left"]{border-left:1px solid var(--border)!important}
  .card[style*="box-shadow"],
  button[style*="box-shadow"],
  a[style*="box-shadow"]{box-shadow:var(--shadow-xs)!important}

  /* ----- BUTTONS ----- */
  .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-sm);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid transparent;line-height:1.2;white-space:nowrap}
  .btn:hover{transform:translateY(-1px)}
  .btn:active{transform:translateY(0)}
  .btn-primary{background:var(--primary);color:#fff;font-weight:600;border:1px solid var(--primary);border-radius:999px;box-shadow:0 1px 3px rgba(4,57,112,.2)}
  .btn-primary:hover{background:var(--primary-strong);color:#fff;border-color:var(--primary-strong)}
  .btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:999px}
  .btn-secondary:hover{background:#e2e8f0;border-color:var(--border-strong)}
  .btn-ghost{background:transparent;color:var(--text-soft);border:1px solid var(--border);border-radius:999px}
  .btn-ghost:hover{background:var(--surface-2);color:var(--text)}
  .btn-danger{background:var(--danger);color:#fff;border:1px solid var(--danger);border-radius:999px;box-shadow:0 1px 3px rgba(220,38,38,.2)}
  .btn-danger:hover{background:#b91c1c;border-color:#b91c1c}
  .btn-success{background:var(--success);color:#fff;border:1px solid var(--success);border-radius:999px;box-shadow:0 1px 3px rgba(5,150,105,.2)}
  .btn-success:hover{background:#047857;border-color:#047857}
  .btn-warn{background:var(--warn);color:#fff;border:1px solid var(--warn);border-radius:999px;box-shadow:0 1px 3px rgba(234,88,12,.2)}
  .btn-warn:hover{background:#c2410c;border-color:#c2410c}
  .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none}

  /* ----- FORMS ----- */
  .input,.select,.textarea{width:100%;background:var(--surface);border:1px solid #edf1f6;color:var(--text);border-radius:var(--r-sm);padding:8px 11px;font-size:13.5px;transition:border-color .15s,box-shadow .15s,background-color .15s}
  .select,select{background-color:#fff!important;color:#0f172a!important;color-scheme:light}
  .select option,select option{background:#fff!important;color:#0f172a!important}
  .input:hover,.select:hover,.textarea:hover{border-color:#d8e0ea}
  .input:focus,.select:focus,.textarea:focus{outline:none;border-color:#8fb0d3;box-shadow:0 0 0 3px rgba(4,57,112,.08)}
  input.input[placeholder*="Recherche"],
  input.input[placeholder*="Rechercher"],
  input.input[placeholder*="recherche"],
  input.input[placeholder*="rechercher"],
  input.input[placeholder*="Search"],
  input.input[placeholder*="search"]{border:2px solid #f2b705!important;box-shadow:0 0 0 3px rgba(242,183,5,.16)!important}
  input.input[placeholder*="Recherche"]:focus,
  input.input[placeholder*="Rechercher"]:focus,
  input.input[placeholder*="recherche"]:focus,
  input.input[placeholder*="rechercher"]:focus,
  input.input[placeholder*="Search"]:focus,
  input.input[placeholder*="search"]:focus{border-color:#f2b705!important;box-shadow:0 0 0 4px rgba(242,183,5,.24)!important}
  .input.search-yellow{border:2px solid #f2b705!important;box-shadow:0 0 0 3px rgba(242,183,5,.16)!important}
  .input.search-yellow:focus{border-color:#f2b705!important;box-shadow:0 0 0 4px rgba(242,183,5,.24)!important}
  .input:disabled,.select:disabled,.textarea:disabled{opacity:.65;cursor:not-allowed;background:var(--surface-2);color:var(--text-mute)}
  .input.input-error,.select.input-error,.textarea.input-error{border-color:#dc2626!important;background:#fef2f2!important;color:#7f1d1d!important;box-shadow:0 0 0 3px rgba(220,38,38,.14)!important}
  .field-error-box{border-color:#dc2626!important;background:#fef2f2!important;box-shadow:0 0 0 3px rgba(220,38,38,.14)!important}
  .label{font-size:11.5px;color:var(--text-soft);display:block;margin-bottom:5px;font-weight:600;letter-spacing:.02em}

  /* ----- PILLS / BADGES ----- */
  .pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:9999px;font-size:11px;font-weight:600;line-height:1.3}
  .pill-green{background:var(--success-soft);color:#047857}
  .pill-amber{background:var(--warn-soft);color:#475569}
  .pill-red{background:var(--danger-soft);color:#991b1b}
  .pill-blue{background:var(--info-soft);color:#043970}
  .pill-gray{background:#e2e8f0;color:#334155}
  .pill-indigo{background:#e0e7ff;color:#3730a3}
  .candidate-avis-select{appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:9999px;padding:4px 28px 4px 10px;font-size:11px;font-weight:800;line-height:1.25;cursor:pointer;background-repeat:no-repeat;background-position:right 9px center;background-size:10px;color:#0f172a;min-width:118px}
  .candidate-avis-select:focus{outline:none;box-shadow:0 0 0 3px rgba(4,57,112,.12)}
  .candidate-avis-select.avis-favorable{background-color:#dcfce7!important;border-color:#86efac!important;color:#166534!important;background-image:linear-gradient(45deg,transparent 50%,#166534 50%),linear-gradient(135deg,#166534 50%,transparent 50%)}
  .candidate-avis-select.avis-defavorable{background-color:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important;background-image:linear-gradient(45deg,transparent 50%,#991b1b 50%),linear-gradient(135deg,#991b1b 50%,transparent 50%)}
  .candidate-avis-select.avis-instance{background-color:#ffedd5!important;border-color:#fdba74!important;color:#9a3412!important;background-image:linear-gradient(45deg,transparent 50%,#9a3412 50%),linear-gradient(135deg,#9a3412 50%,transparent 50%)}
  .select.candidate-avis-field.avis-favorable{background-color:#dcfce7!important;border-color:#86efac!important;color:#166534!important;font-weight:800!important}
  .select.candidate-avis-field.avis-defavorable{background-color:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important;font-weight:800!important}
  .select.candidate-avis-field.avis-instance{background-color:#ffedd5!important;border-color:#fdba74!important;color:#9a3412!important;font-weight:800!important}
  .select.candidate-avis-field option{background:#fff;color:#0f172a}

  /* ----- TABLES ----- */
  table{width:100%;border-collapse:collapse;background:var(--surface)}
  th{text-align:left;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}
  td{padding:12px;border-bottom:1px solid #f1f5f9;font-size:13.5px;color:#1e293b;vertical-align:middle}
  tr:hover td{background:var(--surface-2)}
  tbody tr:last-child td{border-bottom:none}

  /* ----- AVATAR ----- */
  .avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text);overflow:hidden;border:1px solid var(--border)}
  .avatar img{width:100%;height:100%;object-fit:cover}

  /* ----- BANNERS ----- */
  .section-banner{padding:9px 14px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-sm);margin-bottom:12px}
  .banner-amber{background:var(--warn-soft);color:#0f172a;border:1px solid #cbd5e1}
  .banner-blue{background:var(--info-soft);color:#043970;border:1px solid #b9cce0}
  .banner-green{background:var(--success-soft);color:#0f172a;border:1px solid #cbd5e1}
  .banner-red{background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca}
  /* Fieldset-legend style global : tous les section-banner dans les cartes */
  .card .section-banner:not(#banner-warn):not(#banner-ok){background:#fff!important;color:#1f6fb2!important;font-size:13px!important;font-weight:800!important;border:none!important;border-bottom:1.5px solid #bfdbfe!important;border-radius:0!important;margin:-20px -20px 14px!important;padding:9px 14px!important;letter-spacing:.03em!important;text-transform:none!important}

  /* ----- MODAL ----- */
  #modal-host{position:relative;z-index:10000}
  #overlay-host{position:relative;z-index:2147483000}
  #overlay-host .notification-backdrop{z-index:2147483000!important}
  #overlay-host .dialogue-modal-backdrop{z-index:2147482990!important}
  .modal-bg{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);animation:modalFadeIn .15s ease}
  @keyframes modalFadeIn{from{opacity:0}to{opacity:1}}
  .modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);max-width:760px;width:100%;max-height:92vh;overflow:auto;color:var(--text);box-shadow:var(--shadow-xl);animation:modalSlideUp .2s cubic-bezier(.16,1,.3,1)}
  .societe-card,.societe-card button{transform:none!important;will-change:auto!important}
  .societe-card:active,.societe-card button:active{transform:none!important}
  @keyframes modalSlideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

  /* ----- MESSAGES / NOTIFICATIONS ----- */
  .message-toast{position:fixed;right:18px;bottom:18px;z-index:130;width:min(390px,calc(100vw - 36px));background:#fff;border:1px solid #dbe3ef;border-left:5px solid var(--info);border-radius:10px;box-shadow:0 14px 38px rgba(15,23,42,.18);padding:13px 42px 13px 14px;color:#0f172a;animation:toastSlideIn .16s ease}
  .message-toast.message-error{border-left-color:var(--danger)}
  .message-toast.message-success{border-left-color:#475569}
  .message-toast.message-warning{border-left-color:var(--warn)}
  .message-toast.message-center{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);text-align:center;animation:toastCenterPop .16s ease}
  .message-toast.message-success.message-center{background:#dcfce7;border-color:#86efac;border-left-color:#16a34a;color:#14532d;box-shadow:0 20px 55px rgba(22,163,74,.22)}
  .message-text{font-size:13px;line-height:1.45;font-weight:700;white-space:pre-wrap;margin:0}
  .message-close{position:absolute;right:8px;top:8px;width:24px;height:24px;border:0;border-radius:999px;background:#e5e7eb;color:#1f2937;font-size:16px;line-height:20px;font-weight:900;cursor:pointer}
  .message-close:hover{background:#d1d5db}
  @keyframes toastSlideIn{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
  @keyframes toastCenterPop{from{transform:translate(-50%,-46%) scale(.96);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}

  /* ----- INTERACTIVE LAYER ----- */
  #ui-progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--primary);box-shadow:0 0 12px rgba(4,57,112,.45);z-index:120;opacity:0;transition:width .28s ease,opacity .2s ease}
  #ui-progress.active{width:76%;opacity:1}
  #ui-progress.done{width:100%;opacity:0}
  #ui-save-state{position:fixed;right:18px;bottom:18px;z-index:101;display:none;align-items:center;gap:8px;background:#0f172a;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;box-shadow:var(--shadow-lg)}
  #ui-save-state.active{display:inline-flex;animation:saveStateIn .18s ease}
  #ui-save-state.success{background:#14532d}
  #ui-save-state.error{background:#991b1b}
  .ui-dot{width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:uiPulse 1s infinite}
  @keyframes uiPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
  @keyframes saveStateIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
  .view-enter{animation:viewEnter .12s ease-out}
  @keyframes viewEnter{from{opacity:.98}to{opacity:1}}
  .btn{position:relative;overflow:hidden}
  .ui-ripple{position:absolute;border-radius:999px;background:rgba(255,255,255,.45);transform:scale(0);animation:uiRipple .48s ease-out;pointer-events:none}
  .btn-secondary .ui-ripple,.btn-ghost .ui-ripple{background:rgba(4,57,112,.16)}
  @keyframes uiRipple{to{transform:scale(4);opacity:0}}
  .ui-search-hit{background:#fef3c7;border-radius:4px;padding:0 2px;color:#78350f}
  .ui-empty-search{border:1px dashed var(--border-strong);background:#fff;border-radius:var(--r-lg);padding:24px;text-align:center;color:var(--text-soft);margin-top:12px}
  .ui-focus-ring{outline:3px solid var(--primary-ring)!important;outline-offset:2px!important}
  .global-search-wrap{position:relative;flex:1;max-width:760px;margin:0 auto}
  .global-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-xl);z-index:45;max-height:390px;overflow:auto;display:none}
  .global-search-results.active{display:block}
  .global-search-row{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:0;border-bottom:1px solid #f1f5f9;padding:10px 12px;cursor:pointer;color:var(--text)}
  .global-search-row:hover{background:var(--primary-soft)}
  .global-search-row:last-child{border-bottom:0}
  .global-search-type{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-strong)}
  .global-search-title{font-size:13px;font-weight:900;color:#0f172a;margin-top:2px}
  .global-search-meta{font-size:11px;color:#64748b;margin-top:2px;line-height:1.35}
  .global-search-badge{font-size:10px;font-weight:800;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:3px 7px;white-space:nowrap}
  .ui-command-bg{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:110;display:flex;align-items:flex-start;justify-content:center;padding-top:9vh;backdrop-filter:blur(6px);animation:modalFadeIn .12s ease}
  .ui-command{width:min(620px,calc(100vw - 28px));background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xl);overflow:hidden}
  .ui-command-head{padding:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
  .ui-command-head input{border:none;outline:none;font-size:15px;width:100%;font-weight:600;color:var(--text)}
  .ui-command-list{max-height:360px;overflow:auto;padding:6px}
  .ui-command-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:none;background:#fff;border-radius:8px;padding:10px 12px;cursor:pointer;color:var(--text)}
  .ui-command-item:hover,.ui-command-item.active{background:var(--primary-soft);color:var(--primary-strong)}
  .ui-command-kbd{font-size:10px;font-weight:800;color:var(--text-soft);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:2px 6px;background:#f8fafc}

  /* ----- EXECUTIVE DASHBOARD ----- */
  .dash-shell{display:flex;flex-direction:column;gap:16px}
  .dash-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .dash-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
  .dash-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .dash-kpi{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:14px;text-align:left;display:block;color:#0f172a;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
  .dash-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#94a3b8}
  .dash-kpi .label{margin:0;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}
  .dash-kpi .value{font-size:30px;line-height:1.05;font-weight:900;margin-top:8px}
  .dash-kpi .sub{font-size:11px;color:#64748b;margin-top:6px}
  .dash-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:14px;align-items:start}
  .dash-panel{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:var(--shadow-xs);overflow:hidden}
  .dash-panel-head{padding:13px 14px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc}
  .dash-panel-title{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#0f172a}
  .dash-panel-body{padding:14px}
  .dash-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .dash-module{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:12px;text-align:left;min-height:116px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s,box-shadow .15s,border-color .15s}
  .dash-module:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#94a3b8}
  .dash-module-title{font-size:12px;font-weight:900;line-height:1.15;color:#0f172a}
  .dash-module-desc{font-size:11px;color:#64748b;margin-top:5px;line-height:1.35}
  .dash-module-foot{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;color:#475569;margin-top:10px}
  .dash-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid #e2e8f0;border-left:4px solid #64748b;border-radius:8px;padding:10px;background:#fff}
  .dash-alert.danger{border-left-color:#dc2626;background:#fff7f7}
  .dash-alert.warn{border-left-color:#ca8a04;background:#fffbeb}
  .dash-alert.info{border-left-color:#043970;background:#f8fafc}
  .dash-alert-title{font-size:12px;font-weight:900;color:#0f172a}
  .dash-alert-text{font-size:11px;color:#64748b;margin-top:2px}
  .dash-mini-list{display:flex;flex-direction:column;gap:8px}
  .dash-mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #f1f5f9}
  .dash-mini-row:last-child{border-bottom:none}
  .dash-bar{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden}
  .dash-bar span{display:block;height:100%;background:#043970;border-radius:999px}
  .dash-status-dot{width:9px;height:9px;border-radius:999px;background:#16a34a;display:inline-block;cursor:help;position:relative}
  .dash-status-dot.warn{background:#ca8a04;animation:dash-dot-warn 2.4s ease-in-out infinite}
  .dash-status-dot.danger{background:#dc2626;animation:dash-dot-danger 0.9s ease-in-out infinite}
  @keyframes dash-dot-warn{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(202,138,4,0.5)}60%{opacity:0.6;box-shadow:0 0 0 4px rgba(202,138,4,0)}}
  @keyframes dash-dot-danger{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(220,38,38,0.6)}50%{opacity:0.25;box-shadow:0 0 0 5px rgba(220,38,38,0)}}
  @media(max-width:1180px){.dash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-layout{grid-template-columns:1fr}.dash-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:720px){.dash-kpi-grid,.dash-module-grid{grid-template-columns:1fr}}


  /* ----- MODULE CENTER NORMALIZATION ----- */

  .module-page-header{
    position:sticky!important;top:0!important;z-index:50!important;
    width:100%!important;
    margin-bottom:14px!important;
    padding:13px 16px!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;
    background:#fff!important;border:none!important;border-bottom:1px solid #dbe3ef!important;border-radius:0!important;box-shadow:0 2px 8px rgba(15,23,42,.07)!important;
  }
  .module-page-header-copy{min-width:240px;flex:1 1 420px!important}
  .module-page-header h1{font-size:30px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:0!important;color:#0f172a!important;margin:0 0 5px!important;text-transform:none!important}
  .module-page-header h1.module-title-clean{text-transform:none!important}
  .module-page-header p,.module-page-header .text-slate-500{font-size:12.5px!important;line-height:1.35!important;color:#64748b!important;margin:0!important}
  .module-page-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important;flex-wrap:wrap!important}
  .module-page-header-actions .btn,.module-page-header-actions button,.module-page-header > .btn,.module-page-header > button{
    height:38px!important;min-width:150px!important;padding:0 18px!important;border-radius:999px!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important;
  }
  .module-page-header-actions .btn-primary,.module-page-header-actions .btn-secondary,.module-page-header-actions .btn:not(.btn-danger),.module-page-header-actions button:not(.btn-danger){background:var(--sgdi-btn-yellow)!important;color:var(--sgdi-btn-text)!important;border-color:var(--sgdi-btn-border,#facc15)!important;box-shadow:none!important}
  @media(max-width:760px){.module-page-header{align-items:flex-start!important;padding:12px!important}.module-page-header-copy{flex-basis:100%!important}.module-page-header-actions{width:100%!important;justify-content:flex-start!important}.module-page-header-actions .btn,.module-page-header-actions button{min-width:0!important;flex:1 1 140px!important}}

  .module-view{color:#0f172a}
  .module-title-clean{font-size:30px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:0!important;color:#0f172a!important;margin:0 0 6px!important;text-transform:none!important}
  .module-view h1 + p,.module-view h1 + .text-slate-500{font-size:13px!important;color:#64748b!important;margin-bottom:16px!important}
  .module-view .card.module-card-clean{border-radius:8px!important;border-color:#d8e0ea!important;box-shadow:0 8px 22px rgba(15,23,42,.055)!important}
  .module-table-clean thead,.module-table-clean thead tr,.module-table-clean th{background:#f8fafc!important;color:#475569!important;border-color:#e2e8f0!important}
  .module-table-clean th{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.04em!important}
  .module-view .btn{border-radius:8px!important;font-weight:850!important;letter-spacing:0!important}
  .module-view .grid.grid-cols-2,.module-view .grid.grid-cols-3,.module-view .grid.grid-cols-4,.module-view .grid.grid-cols-5{gap:12px!important}
  .module-view .text-6xl:empty,.module-view .text-5xl:empty,.module-view .text-4xl:empty,[data-icon-only]:empty{display:none!important}
  .module-view .mat-actions .btn,.module-view td .btn{min-height:32px;padding:7px 10px;font-size:12px}
  .mat-hero{background:#fff!important;color:#0f172a!important;border:1px solid #d8e0ea!important;box-shadow:0 8px 22px rgba(15,23,42,.055)!important}
  .mat-hero h1{color:#0f172a!important;font-size:24px!important}
  .mat-hero p{color:#64748b!important}
  .mat-actions .btn{box-shadow:none!important}
  .mat-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:12px!important}
  .mat-kpi{background:#fff!important;border-color:#d8e0ea!important;box-shadow:0 8px 22px rgba(15,23,42,.045)!important}
  .mat-panel{box-shadow:0 8px 22px rgba(15,23,42,.045)!important}

  /* ----- CENTER DIALOGUE BOX ----- */
  .dialogue-fab{display:none!important}
  .dialogue-fab.hidden{display:none}
  .dialogue-fab .badge{background:#dc2626;color:#fff;border-radius:999px;padding:2px 7px;margin-left:8px;font-size:11px}
  .dialogue-modal-backdrop{position:fixed;inset:0;z-index:10020;background:rgba(1,17,47,.58);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:22px}
  .dialogue-modal-backdrop.closed{display:none}
  .dialogue-panel{width:min(920px,calc(100vw - 44px));max-width:920px;height:min(720px,calc(100vh - 44px));background:#f1f5f9;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 24px 80px rgba(1,17,47,.38);display:flex;flex-direction:column;flex-shrink:0;color:#0f172a;overflow:hidden}
  .dialogue-panel.closed{display:none}
  .notification-backdrop{position:fixed;inset:0;z-index:10030;background:rgba(1,17,47,.45);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:flex-end;padding:72px 22px 22px}
  .notification-backdrop.closed{display:none}
  .notification-panel{width:min(520px,calc(100vw - 44px));max-height:calc(100vh - 96px);background:#fff;border:1px solid #fecaca;border-radius:12px;box-shadow:0 24px 70px rgba(1,17,47,.28);display:flex;flex-direction:column;overflow:hidden;color:#0f172a}
  .notification-head{padding:14px 16px;background:#fff5f5;border-bottom:1px solid #fecaca;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .notification-title{font-size:13px;font-weight:950;color:#991b1b;letter-spacing:.08em}
  .notification-subtitle{font-size:11px;color:#7f1d1d;font-weight:800;margin-top:2px}
  .notification-list{padding:12px;overflow:auto}
  .notification-item{position:relative;border:1px solid #fecaca;background:#fff1f2;border-left:5px solid #dc2626;border-radius:10px;padding:12px 12px 38px;margin-bottom:10px;text-align:left;width:100%;display:block;color:#0f172a}
  button.notification-item{cursor:pointer}
  button.notification-item:hover{box-shadow:0 10px 24px rgba(15,23,42,.13);transform:translateY(-1px)}
  .notification-item.alert-critical,.notification-item.alert-danger{border-left-color:#dc2626;background:#fff1f2;border-color:#fecaca}
  .notification-item.alert-warn{border-left-color:#f59e0b;background:#fffbeb;border-color:#fde68a}
  .notification-item.alert-info{border-left-color:#043970;background:#f8fafc;border-color:#dbeafe}
  .notification-item.is-read{opacity:.78;filter:saturate(.82)}
  .notification-item.is-unread{box-shadow:0 8px 22px rgba(220,38,38,.16)}
  .notification-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-weight:950;text-transform:uppercase;color:#991b1b}
  .notification-item-title{font-size:13px;font-weight:950;color:#0f172a;margin-top:7px}
  .notification-item-body{font-size:12px;color:#334155;margin-top:5px;line-height:1.4}
  .notification-item-meta{display:flex;gap:5px;flex-wrap:wrap;font-size:10.5px;color:#64748b;margin-top:8px;font-weight:850}
  .notification-item-meta span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:3px 7px}
  .notification-item-action{position:absolute;right:10px;bottom:9px;background:#111827;color:#fff;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:950}
  .notification-item.is-read .notification-item-title,.notification-item.is-read .notification-item-body{font-weight:700;color:#475569}
  .notification-item.is-unread .notification-item-title,.notification-item.is-unread .notification-item-body{font-weight:950}
  .notification-empty{padding:34px 12px;text-align:center;color:#047857;font-size:13px;font-weight:900}
  .sgdi-maplibre-map{width:100%;height:100%;min-height:320px;position:relative;overflow:hidden;background:#e2e8f0}
  .sgdi-site-map-marker{width:30px;height:30px;border-radius:999px;border:3px solid #fff;background:#043970;box-shadow:0 7px 18px rgba(15,23,42,.32);display:grid;place-items:center;cursor:pointer}
  .sgdi-site-map-marker span{width:10px;height:10px;border-radius:999px;background:#facc15;display:block;box-shadow:0 0 0 3px rgba(250,204,21,.28)}
  .site-map-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;font-size:12px;font-weight:850}
  .site-map-status-ok,.site-map-status-warn,.site-map-status-muted{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;border:1px solid}
  .site-map-status-ok{background:#dcfce7;color:#166534;border-color:#86efac}
  .site-map-status-warn{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
  .site-map-status-muted{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
  .site-map-missing{display:flex;align-items:center;gap:5px;flex-wrap:wrap;width:100%;font-size:11px;font-weight:750;color:#64748b}
  .site-map-missing button{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:999px;padding:3px 8px;cursor:pointer}
  .site-map-empty{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:8px;padding:28px;text-align:center;color:#475569;font-size:13px}
  .site-complete-bulb{width:24px;height:24px;border-radius:999px;background:#dcfce7;color:#15803d;border:1px solid #86efac;display:inline-grid;place-items:center;font-size:14px;line-height:1;box-shadow:0 0 0 4px rgba(34,197,94,.12),0 0 14px rgba(34,197,94,.45);animation:siteCompleteGlow 1.8s ease-in-out infinite}
  @keyframes siteCompleteGlow{0%,100%{box-shadow:0 0 0 4px rgba(34,197,94,.10),0 0 10px rgba(34,197,94,.35)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.18),0 0 18px rgba(34,197,94,.62)}}
  .site-status-lamp{width:22px;height:22px;border-radius:50%;display:inline-block;flex-shrink:0;vertical-align:middle}
  .site-status-lamp.lamp-green{background:radial-gradient(circle at 35% 30%,#86efac 0%,#16a34a 60%,#14532d 100%);box-shadow:0 0 0 3px rgba(22,163,74,.20),0 0 10px rgba(22,163,74,.55)}
  .site-status-lamp.lamp-red{background:radial-gradient(circle at 35% 30%,#fca5a5 0%,#dc2626 60%,#7f1d1d 100%);box-shadow:0 0 0 3px rgba(220,38,38,.20),0 0 10px rgba(220,38,38,.55);animation:lampBlink 1s ease-in-out infinite}
  .site-status-lamp.lamp-gray{background:radial-gradient(circle at 35% 30%,#e2e8f0 0%,#94a3b8 60%,#475569 100%);box-shadow:0 0 0 3px rgba(148,163,184,.15)}
  @keyframes lampBlink{0%,100%{opacity:1;box-shadow:0 0 0 3px rgba(220,38,38,.20),0 0 10px rgba(220,38,38,.55)}50%{opacity:.25;box-shadow:none}}
  .fp-status-lamp{width:9px;height:9px;border-radius:50%;display:block;flex-shrink:0}
  .fp-status-lamp.lamp-green{background:radial-gradient(circle at 35% 30%,#86efac 0%,#16a34a 60%,#14532d 100%);box-shadow:0 0 5px rgba(22,163,74,.7)}
  .fp-status-lamp.lamp-orange{background:radial-gradient(circle at 35% 30%,#fde68a 0%,#f59e0b 60%,#92400e 100%);box-shadow:0 0 5px rgba(245,158,11,.7)}
  .fp-status-lamp.lamp-red-fp{background:radial-gradient(circle at 35% 30%,#fca5a5 0%,#dc2626 60%,#7f1d1d 100%);box-shadow:0 0 5px rgba(220,38,38,.7)}
  .fp-status-lamp.lamp-blue{background:radial-gradient(circle at 35% 30%,#bfdbfe 0%,#2563eb 60%,#1e3a8a 100%);box-shadow:0 0 5px rgba(37,99,235,.7)}
  .fp-status-lamp.fp-lamp-off{opacity:.14;filter:grayscale(1);box-shadow:none}
  .fp-status-lamp.fp-lamp-blink{animation:fpLampBlink 1s ease-in-out infinite}
  @keyframes fpLampBlink{0%,100%{opacity:1}50%{opacity:.15}}
  .maplibregl-popup-content{font:12px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a;border-radius:8px;box-shadow:0 14px 34px rgba(15,23,42,.18)}
body.sgdi-overlay-open #sites-map-frame,
body.sgdi-overlay-open #site-position-inline-map{display:none!important;visibility:hidden!important;pointer-events:none!important}
  .site-position-logo-marker{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;aspect-ratio:1/1;border:2px solid #fff!important;border-radius:999px!important;background:#fff!important;box-shadow:0 8px 18px rgba(15,23,42,.32);padding:0!important;margin:0!important;overflow:hidden;display:block;cursor:grab;box-sizing:border-box}
  .site-position-logo-marker:active{cursor:grabbing}
  .site-position-logo-marker img{width:100%;height:100%;object-fit:cover;display:block;border-radius:999px}
  .site-position-modal{width:min(1180px,94vw)}
  .site-position-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
  .site-position-modal-map{height:560px!important;min-height:560px;border:1px solid #cbd5e1;border-radius:8px;background:#e2e8f0}
  .site-position-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:12px}
  .site-position-modal-coords{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#64748b;font-weight:800}
  .site-position-modal-coords span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px}
  .site-position-modal-coords b{color:#043970;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}
  .dialogue-head{padding:12px 14px;border-bottom:1px solid #cbd5e1;display:flex;flex-direction:column;gap:8px;background:#e2e8f0;color:#0f172a;flex-shrink:0}
  .dialogue-title{font-size:13px;font-weight:900;letter-spacing:.02em;white-space:nowrap;line-height:1.15}
  .dialogue-head-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
  .dialogue-subtitle{font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
  .dialogue-slim-btn{padding:5px 8px!important;font-size:10.5px!important;border-radius:6px!important;line-height:1!important}
  .dialogue-body{flex:1;overflow:auto;padding:10px;background:#f1f5f9}
  .dialogue-form{border-top:1px solid var(--border);padding:12px;background:#fff}
  .dialogue-msg{background:#f8fafc;border:1px solid #cbd5e1;border-left:3px solid #ef4444;border-radius:10px;padding:10px 11px;margin-bottom:10px;box-shadow:0 6px 14px rgba(15,23,42,.08);position:relative;color:#0f172a}
  .dialogue-msg:before{content:"";position:absolute;left:10px;top:14px;width:12px;height:12px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.22)}
  .dialogue-msg.mine{border-left-color:#043970}
  .dialogue-msg.mine:before{background:#043970;box-shadow:0 0 0 2px rgba(37,99,235,.22)}
  .dialogue-msg.admin-note{border-left-color:#043970}
  .dialogue-msg.admin-note:before{background:#043970;box-shadow:0 0 0 2px rgba(245,158,11,.22)}
  .dialogue-meta{font-size:10.5px;color:#64748b;display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;padding-left:18px}
  .dialogue-text{font-size:12.5px;color:#334155;line-height:1.45;white-space:pre-wrap}
  .dialogue-action{background:#e2e8f0;color:#0f172a;border:1px solid #cbd5e1;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700}
  .dialogue-layout{display:grid;grid-template-columns:230px 1fr;min-height:0;flex:1}
  .dialogue-users{background:#e5e7eb;border-right:1px solid #cbd5e1;overflow:auto;padding:10px}
  .dialogue-folders{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #cbd5e1}
  .dialogue-folder{width:100%;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:9px;padding:8px 9px;text-align:left;cursor:pointer;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:8px}
  .dialogue-folder.active{background:#043970;color:#fff;border-color:#043970}
  .dialogue-folder .count{background:#e2e8f0;color:#0f172a;border-radius:999px;min-width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
  .dialogue-folder.active .count{background:#facc15;color:#043970}
  .dialogue-user{width:100%;border:1px solid transparent;background:transparent;color:#0f172a;border-radius:9px;padding:9px 8px;margin-bottom:6px;text-align:left;cursor:pointer;font-size:11.5px;line-height:1.18}
  .dialogue-user.active{background:#111827;color:#fff;border-color:#111827}
  .dialogue-user.dialogue-new{background:#fff;border-color:#043970;color:#043970;font-weight:950}
  .dialogue-user.dialogue-new.active{background:#043970;color:#fff;border-color:#043970}
  .dialogue-user.has-unread{border-color:#dc2626;background:#fee2e2}
  .dialogue-user.active.has-unread{background:#111827;color:#fff;box-shadow:0 0 0 2px rgba(220,38,38,.35)}
  .dialogue-user .dot{float:right;background:#dc2626;color:#fff;border-radius:999px;min-width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
  .dialogue-red-light{width:9px;height:9px;border-radius:999px;background:#dc2626;display:inline-block;margin-left:7px;box-shadow:0 0 0 4px rgba(220,38,38,.18);animation:dialoguePulse 1s infinite}
  @keyframes dialoguePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.42;transform:scale(.72)}}
  .dialogue-chat{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f8fafc}
  .dialogue-chat-head{padding:9px 11px;border-bottom:1px solid #cbd5e1;background:#fff;font-size:12px;font-weight:900;color:#0f172a}
  .dialogue-thread{flex:1;overflow:auto;padding:14px;background:#f8fafc}
  .dialogue-empty-compose{margin:34px auto 0;width:min(420px,100%);border:1px dashed #94a3b8;background:#fff;border-radius:12px;padding:18px;text-align:center;color:#334155;font-size:12.5px;line-height:1.45}
  .chat-bubble{max-width:78%;border-radius:12px;padding:9px 11px;margin:0 0 9px;font-size:12.5px;line-height:1.35;box-shadow:0 5px 12px rgba(15,23,42,.08);white-space:pre-wrap}
  .chat-bubble.mine{margin-left:auto;background:#043970;color:#fff;border-bottom-right-radius:4px}
  .chat-bubble.theirs{margin-right:auto;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-bottom-left-radius:4px}
  .chat-meta{font-size:9.5px;opacity:.72;margin-top:4px;white-space:nowrap}
  .chat-status{font-size:10px;opacity:.88;margin-top:3px;text-align:right;font-weight:700}
  .chat-status.read{color:#38bdf8}.chat-status.received{color:#bbf7d0}.chat-status.sent{color:#e5e7eb}
  .dialogue-composer{border-top:1px solid #cbd5e1;background:#fff;padding:8px;display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}
  .dialogue-composer textarea{min-height:38px;max-height:88px;resize:vertical;font-size:12px;padding:8px}
  .dialogue-recipients{grid-column:1/3;border:1px solid #dbe3ee;background:#f8fafc;border-radius:9px;padding:7px;display:flex;gap:6px;overflow-x:auto;white-space:nowrap}
  .dialogue-recipient{display:inline-flex;align-items:center;gap:5px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:800;color:#0f172a;cursor:pointer;flex:0 0 auto}
  .dialogue-recipient input{width:13px;height:13px;accent-color:#043970}
  .dialogue-recipient:has(input:checked){background:#dbeafe;border-color:#043970;color:#043970}
  .dialogue-selected-recipients{grid-column:1/3;display:flex;flex-wrap:wrap;gap:5px;min-height:22px;font-size:10.5px;color:#64748b}
  .dialogue-recipient-chip{background:#043970;color:#fff;border-radius:999px;padding:4px 8px;font-weight:900}
  .dialogue-attach{border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:9px;height:32px;padding:0 9px;font-size:11px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:5px;justify-content:center}.dialogue-send{border:none;background:#111827;color:#fff;border-radius:9px;width:38px;height:38px;font-weight:900;cursor:pointer}.chat-attachment{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:11px;font-weight:800;text-decoration:none}.chat-bubble.theirs .chat-attachment{background:#eef2ff;border-color:#c7d2fe;color:#1e3a8a}.dialogue-file-name{grid-column:1/3;font-size:10px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .instruction-form{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;padding:10px;margin-top:8px}

  /* ----- MATERIEL PRO UI ----- */
  .mat-shell{display:flex;flex-direction:column;gap:14px}
  .mat-hero{background:#0f172a;color:#fff;border-radius:8px;padding:18px 20px;border:1px solid #1e293b;box-shadow:0 10px 24px rgba(15,23,42,.18)}
  .mat-hero h1{font-size:24px;line-height:1.15;font-weight:900;margin:0}
  .mat-hero p{color:#cbd5e1;font-size:13px;margin-top:5px}
  .mat-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .mat-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .mat-kpi{background:#fff;border:1px solid #cbd5e1;border-left:5px solid #043970;border-radius:8px;padding:12px;text-align:left;transition:box-shadow .15s,transform .15s}
  .mat-kpi:hover{box-shadow:0 8px 20px rgba(15,23,42,.08);transform:translateY(-1px)}
  .mat-kpi .label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0;font-weight:800}
  .mat-kpi .value{font-size:28px;line-height:1.1;font-weight:950;color:#0f172a;margin-top:6px}
  .mat-kpi .sub{font-size:11px;color:#64748b;margin-top:3px}
  .mat-panel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
  .mat-panel{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:14px}
  .mat-panel-title{font-weight:900;color:#0f172a;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
  .mat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 8px;border-bottom:1px solid #e2e8f0;border-radius:6px}
  .mat-row:hover{background:#f8fafc}
  .mat-form-band{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:14px;margin-bottom:14px}
  .mat-form-band-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#0f172a;margin-bottom:12px}
  @media(max-width:900px){.mat-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mat-panel-grid{grid-template-columns:1fr}}
  @media (min-width:768px) and (max-width:1180px){
    .sidebar{width:250px!important;min-width:250px!important;max-width:250px!important;flex-basis:250px!important}
    .sidebar,.sidebar *{font-size:10.5px!important}
    .sidebar nav{padding:14px 10px 8px 10px!important;display:flex!important;flex-direction:column!important;background:#01112f!important}
    .sidebar .px-5{padding-left:10px!important;padding-right:10px!important}
    .sidebar .py-5{padding-top:12px!important;padding-bottom:12px!important}
    .sidebar [data-no-lang="1"]{font-size:28px!important}
    .nav-group,.nav-link,.sub-link{padding:9px 10px!important;font-size:10.5px!important}
    .nav-count{min-width:17px!important;height:17px!important;font-size:9px!important;padding:0 4px!important}
    .sgdi-topbar{grid-template-columns:minmax(220px,1fr) minmax(310px,auto) auto!important;align-items:center!important;padding:7px 10px!important;gap:7px!important;overflow:hidden!important}
    .sgdi-topbar-left{order:1;min-width:190px!important;max-width:260px!important}
    .sgdi-topbar-left-module{min-width:0!important;max-width:340px!important}
    .sgdi-topbar-module-title-active{font-size:20px!important;font-weight:950!important}
    .topbar-structure-tabs{order:2;flex:1 1 auto!important;justify-content:flex-start!important;gap:5px!important;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap!important;padding-bottom:2px}
    .topbar-structure-btn{height:30px!important;min-width:68px!important;padding:0 9px!important;font-size:10px!important;gap:4px!important;flex:0 0 68px!important}
    .sgdi-topbar-actions{order:3;margin-left:auto;gap:5px!important;flex-wrap:nowrap!important;justify-content:flex-end!important;flex:0 0 auto!important}
    .topbar-dialogue-btn{height:30px!important;padding:0 9px!important;font-size:10px!important}
    .topbar-notification-btn{height:30px!important;padding:0 9px!important;font-size:10px!important}
    .sgdi-lang-choice{margin-bottom:0!important}
    .sgdi-lang-choice span{display:none!important}
    .sgdi-lang-choice .btn{height:30px!important;padding:0 8px!important}
    .sgdi-topbar-actions>.btn{height:30px!important;padding:0 9px!important;font-size:10px!important}
    .societe-band-btn{min-height:34px!important;padding:6px 8px!important;gap:5px!important}
    .societe-band-btn span[style*="font-size:20px"]{font-size:16px!important}
    .societe-band-btn img{width:22px!important;height:22px!important}
    #view{padding:8px 12px 14px!important}
    .card{border-radius:10px!important}
    table{font-size:12px!important}
    th{font-size:9.5px!important;padding:8px!important}
    td{font-size:12px!important;padding:8px!important}
    .modal{max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px)!important}
    .dialogue-modal-backdrop{padding:14px!important}
    .dialogue-panel{width:calc(100vw - 28px)!important;height:calc(100vh - 28px)!important;max-width:860px!important}
    .notification-backdrop{padding:58px 14px 14px!important;align-items:flex-start!important}
    .notification-panel{width:calc(100vw - 28px)!important;max-height:calc(100vh - 72px)!important}
    .dialogue-layout{grid-template-columns:170px 1fr!important}
    .dialogue-users{padding:7px!important}
    .dialogue-user{font-size:10.5px!important;padding:8px 6px!important}
    .dash-kpi-grid,.mat-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .dash-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    .grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .grid-cols-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  }
  .instruction-form .input,.instruction-form .select{background:#fff;color:#0f172a;border-color:#cbd5e1}
  .instruction-form .label{color:#475569}

  /* ----- SEARCH BAR ----- */
  .search-box{position:sticky;top:0;z-index:30;background:var(--surface);padding:10px 20px;border-bottom:1px solid var(--border)}

  /* ----- GRIDS ----- */
  .grid-7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
  .grid-6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
  .grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-6{grid-column:span 6}
  .candidate-inline-fields{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
  .candidate-id-inline-row{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:flex-end;gap:12px;flex-wrap:wrap;width:100%}
  .candidate-field-4cm{width:4cm;max-width:100%}
  .candidate-field-5cm{width:5cm;max-width:100%}
  .candidate-field-7cm{width:7cm;max-width:100%}

  /* ----- FICHES DE POSITION ----- */
  .fp-page{width:calc(100% + 2*clamp(8px,1.2vw,18px));margin-inline:calc(-1*clamp(8px,1.2vw,18px));display:flex;flex-direction:column;gap:18px}
  .fp-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 2px 2px;background:transparent;border:0;box-shadow:none}
  .fp-head h1{font-size:29px;line-height:1.1;margin:0;color:#0f172a;font-weight:850;text-align:left;text-transform:none!important;letter-spacing:-.025em}
  .fp-head p{margin:7px 0 0;color:#64748b;font-size:14px;line-height:1.35;text-transform:none!important}
  .fp-head p span{font-weight:800;color:#043970}
  .fp-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
  .fp-page .fp-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:stretch!important;
    width:100%!important;
  }
  .fp-page .fp-head > div:first-child{
    justify-self:start!important;
    text-align:left!important;
    min-width:0!important;
  }
  .fp-page .fp-head-actions{
    justify-self:end!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
  .fp-head-action{height:42px;padding:0 17px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;text-decoration:none;transition:.16s ease}
  .fp-head-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .fp-head-action-secondary{background:#fff;color:#334155;border:1px solid #d7e0eb}
  .fp-head-action-primary{background:#073d77;color:#fff;border:1px solid #073d77;box-shadow:0 6px 16px rgba(7,61,119,.16)}
  .fp-head-action:hover{transform:translateY(-1px);text-decoration:none}.fp-head-action-secondary:hover{color:#073d77;border-color:#9db4cc}.fp-head-action-primary:hover{color:#fff;background:#052f5d}
  .fp-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .fp-summary-card{min-height:104px;background:#fff;border:1px solid #e1e8f0;border-radius:13px;padding:17px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;box-shadow:0 1px 2px rgba(15,23,42,.025);transition:.16s ease}
  .fp-summary-card:hover{border-color:#c7d5e5!important;transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.06)!important}
  .fp-metric-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--metric-color);background:color-mix(in srgb,var(--metric-color) 10%,#fff)}
  .fp-metric-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .fp-metric-copy{min-width:0}.fp-summary-card .fp-metric-copy span{display:block;color:#64748b;text-transform:none;font-size:12px;font-weight:750;letter-spacing:0;white-space:nowrap}
  .fp-summary-card .fp-metric-copy strong{display:block;font-size:26px;line-height:1;margin:5px 0;color:#172033;font-weight:850}
  .fp-summary-card .fp-metric-copy small{display:block;color:#8492a6;font-size:11px;line-height:1.2;white-space:nowrap}
  .fp-summary-card .fp-metric-trend{align-self:start;color:var(--metric-color);background:color-mix(in srgb,var(--metric-color) 8%,#fff);border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}
  .fp-ring{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:conic-gradient(var(--ring) var(--pct),#e5e7eb 0)}
  .fp-ring b{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;color:#334155}
  .fp-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .fp-status-card{background:#fff;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:var(--shadow-xs)}
  .fp-status-card.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent);background:#f8fafc}
  .fp-status-card span{font-size:12px;font-weight:900;color:#475569;text-transform:uppercase;line-height:1.2}
  .fp-status-card strong{font-size:24px;font-weight:950;color:var(--accent)}
  .fp-filter-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px 16px;box-shadow:var(--shadow-xs)}
  .fp-filter-card h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#334155;margin:0 0 12px;font-weight:900}
  .fp-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;justify-items:stretch}
  .fp-agent-card{border-radius:8px!important;min-width:0;width:100%!important;max-width:none!important}
  .fp-agent-matricule{color:#d97706}
  .fp-agent-status{font-size:10px!important;text-transform:uppercase;font-weight:900!important}
  .fp-agent-card[data-status="actif"] .fp-agent-matricule{color:#047857!important}
  .fp-agent-card[data-status="actif"] .fp-agent-status{background:#ecfdf5!important;color:#047857!important;border-color:#86efac!important;text-transform:uppercase!important;font-weight:950!important;letter-spacing:.04em!important}
  .fp-agent-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
  .fp-card-action{height:32px;min-height:32px;border-radius:999px;padding:0 13px;border:1px solid #cbd5e1;background:#fff;color:#0f2f57;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;line-height:1;cursor:pointer;white-space:nowrap}
  .fp-card-action-main{background:#eef6ff;border-color:#b9d4ef;color:#043970}
  .fp-card-action-secondary{background:#fff;border-color:#d5dee9;color:#24364c}
  .fp-card-action:hover{background:#e8f0f8;border-color:#9fb9d8;color:#043970;text-decoration:none}
  .fp-icon-btn{width:36px!important;height:32px!important;padding:0!important;justify-content:center!important}
  .fp-icon-btn svg{width:16px;height:16px;display:block;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
  .fp-filter-panel{background:#fff;border:1px solid #dfe7f0;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.035)}
  .fp-filter-main{display:grid;grid-template-columns:minmax(270px,1.45fr) repeat(3,minmax(150px,.7fr));gap:12px;padding:17px}
  .fp-search-field{height:45px;display:flex;align-items:center;gap:10px;border:1px solid #d4deea;border-radius:10px;padding:0 13px;background:#f9fbfd;transition:.15s}
  .fp-search-field:focus-within{background:#fff;border-color:#3b72aa;box-shadow:0 0 0 3px rgba(59,114,170,.1)}
  .fp-search-field svg{width:18px;height:18px;fill:none;stroke:#7890aa;stroke-width:2;stroke-linecap:round}.fp-search-field input{width:100%;border:0!important;outline:0!important;background:transparent!important;font-size:13px;color:#172033;box-shadow:none!important}
  .fp-quick-filter{height:45px;position:relative;border:1px solid #d4deea;border-radius:10px;background:#fff;padding:5px 10px 4px}.fp-quick-filter label{display:block;font-size:9px;line-height:1;color:#8b9aaf;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.fp-quick-filter select{width:100%;border:0;outline:0;background:transparent;color:#26364b;font-size:12px;font-weight:650;padding:3px 18px 0 0}
  .fp-advanced{border-top:1px solid #edf1f5}.fp-advanced summary{height:43px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;color:#53657c;font-size:12px;font-weight:750;cursor:pointer;list-style:none}.fp-advanced summary::-webkit-details-marker{display:none}.fp-advanced summary>span:first-child{display:flex;align-items:center;gap:7px}.fp-advanced summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.fp-advanced summary b{min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#e7f0fa;color:#073d77;display:inline-flex;align-items:center;justify-content:center;font-size:10px}.fp-chevron{font-size:17px;transition:.15s}.fp-advanced[open] .fp-chevron{transform:rotate(180deg)}
  .fp-advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:4px 18px 17px}.fp-advanced-grid label{display:block;margin:0 0 6px;color:#66788e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.fp-advanced-grid input{width:100%;height:39px;border:1px solid #d4deea;border-radius:9px;padding:0 11px;color:#26364b;font-size:12px;background:#fff}
  .fp-filter-footer{min-height:54px;border-top:1px solid #edf1f5;background:#fbfcfe;padding:8px 12px 8px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.fp-result-count{font-size:12px;color:#738398}.fp-result-count strong{color:#172033;font-size:14px}.fp-display-controls{display:flex;align-items:center;gap:8px}.fp-display-controls>label{font-size:11px;color:#8290a3}.fp-display-controls>select{height:34px;min-width:180px;border:1px solid #d7e0ea;border-radius:8px;background:#fff;padding:0 28px 0 10px;color:#3c4d63;font-size:11px}.fp-layout-switch{height:34px;padding:3px;display:flex;border:1px solid #d7e0ea;border-radius:8px;background:#fff}.fp-layout-switch button{width:31px;border:0;border-radius:5px;background:transparent;color:#8290a3;font-size:17px;cursor:pointer}.fp-layout-switch button.active{background:#e6eff8;color:#073d77}.fp-reset-btn{height:34px;border:0;background:transparent;color:#45617f;font-size:11px;font-weight:750;cursor:pointer;padding:0 8px}.fp-reset-btn:hover{color:#073d77;text-decoration:underline}
  @media (max-width:1200px){.fp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-filter-main{grid-template-columns:repeat(3,minmax(0,1fr))}.fp-search-field{grid-column:1/-1}.fp-status-grid,.fp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (max-width:1024px){.grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media (max-width:980px){.fp-page{width:calc(100% + 20px);margin-inline:-10px}}
  @media (max-width:760px){.fp-page{width:calc(100% + 16px);margin-inline:-8px}.fp-page .fp-head{grid-template-columns:1fr!important}.fp-page .fp-head-actions{justify-self:start!important}.fp-head-action{height:39px}.fp-summary-grid,.fp-status-grid,.fp-card-grid,.grid-6,.grid-5,.grid-4,.fp-filter-main,.fp-advanced-grid{grid-template-columns:1fr}.fp-search-field{grid-column:auto}.fp-summary-card{min-height:92px}.fp-filter-footer{align-items:flex-start;flex-direction:column}.fp-display-controls{width:100%;flex-wrap:wrap}.fp-display-controls>label{display:none}.fp-display-controls>select{flex:1}.fp-head h1{font-size:25px}}

  .recrutement-add-btn,
  .portal-open-btn,
  .fp-badge-btn,
  .fp-print-batch-btn,
  .paie-export-btn,
  .paie-print-btn,
  .candidate-reserve-page-btn,
  .site-create-btn,
  .contract-create-btn,
  .avenant-create-btn,
  .conge-request-btn,
  .main-event-btn{
    margin-top:.35cm;
    width:168px!important;
    min-width:168px!important;
    height:38px!important;
    min-height:38px!important;
    border:2px solid var(--sgdi-btn-border,#facc15)!important;
    border-radius:999px!important;
    padding:0 14px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    justify-content:center!important;
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    font-size:12px!important;
    font-weight:950!important;
    white-space:nowrap!important;
    box-shadow:0 6px 14px rgba(15,23,42,.14);
  }
  .topbar-back-btn{
    width:168px!important;
    min-width:168px!important;
    height:38px!important;
    min-height:38px!important;
    border:2px solid var(--sgdi-btn-border,#facc15)!important;
    border-radius:999px!important;
    padding:0 14px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    justify-content:center!important;
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    font-size:12px!important;
    font-weight:950!important;
    white-space:nowrap!important;
    box-shadow:0 6px 14px rgba(15,23,42,.14);
  }
  .recrutement-add-btn:hover,
  .portal-open-btn:hover,
  .fp-badge-btn:hover,
  .fp-print-batch-btn:hover,
  .paie-export-btn:hover,
  .paie-print-btn:hover,
  .candidate-reserve-page-btn:hover,
  .site-create-btn:hover,
  .contract-create-btn:hover,
  .avenant-create-btn:hover,
  .conge-request-btn:hover,
  .main-event-btn:hover,
  .topbar-back-btn:hover{background:var(--sgdi-btn-yellow-hover)!important;color:var(--sgdi-btn-text)!important;border-color:var(--sgdi-btn-border,#facc15)!important}
  @keyframes recrutement-add-pulse{
    0%,100%{box-shadow:0 0 0 0 rgba(4,57,112,.34);filter:brightness(1)}
    50%{box-shadow:0 0 0 7px rgba(4,57,112,.08);filter:brightness(1.18)}
  }

  /* ----- RADIO PILL ----- */
  .radio-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border-strong);border-radius:9999px;cursor:pointer;font-size:12.5px;background:#fff;transition:all .12s}
  .radio-pill:hover{border-color:#94a3b8;background:var(--surface-2)}
  .radio-pill input{accent-color:var(--primary)}

  /* Thème institutionnel : couleurs sobres et lisibles */
  .text-amber-600,.text-amber-700,.text-amber-800,
  .hover\:text-amber-600:hover,.hover\:text-amber-700:hover{color:#475569!important}
  .text-emerald-600,.text-emerald-700,.text-emerald-800,
  .text-green-600,.text-green-700{color:#475569!important}
  .text-sky-600,.text-sky-700,
  .text-cyan-600,.text-cyan-700{color:#043970!important}
  .bg-amber-50,.bg-amber-100{background:#f1f5f9!important;color:#475569!important}
  .bg-amber-500{background:#cbd5e1!important;color:#0f172a!important}
  .bg-emerald-50,.bg-emerald-100,.bg-emerald-500,
  .bg-green-50,.bg-green-100{background:#f1f5f9!important;color:#475569!important}
  .bg-emerald-500{background:#cbd5e1!important;color:#0f172a!important}
  .bg-sky-50,.bg-sky-100,
  .bg-cyan-50,.bg-cyan-100{background:#e8f0f8!important;color:#043970!important}
  .border-amber-200,.border-amber-300,
  .border-sky-200,.border-cyan-200{border-color:#b9cce0!important}
  .border-emerald-200,.border-emerald-300,
  .border-green-200,.border-green-300{border-color:#cbd5e1!important}
  .card[style*="linear-gradient"],
  a.card[style*="linear-gradient"],
  button.card[style*="linear-gradient"]{background:#fff!important;background-image:none!important}
  [style*="background:#fef3c7"],
  [style*="background:#fde68a"],
  [style*="background:#fffbeb"],
  [style*="background:#fff7ed"],
  [style*="background:#ffedd5"],
  [style*="background:#c2410c"],
  [style*="background:#b45309"]{background:#f1f5f9!important;color:#0f172a!important}
  [style*="background:#d1fae5"],
  [style*="background:#dcfce7"],
  [style*="background:#ecfdf5"],
  [style*="background:#f0fdf4"],
  [style*="background:#bbf7d0"],
  [style*="background:#86efac"],
  [style*="background:#16a34a"],
  [style*="background:#047857"],
  [style*="background:#059669"],
  [style*="background:#15803d"]{background:#f1f5f9!important;background-image:none!important;color:#0f172a!important}
  /* Fonds bleus remplacés par gris clair, boutons d'action conservés en bleu */
  div[style*="background:#043970"],
  section[style*="background:#043970"],
  aside[style*="background:#043970"],
  table[style*="background:#043970"],
  thead[style*="background:#043970"],
  tbody[style*="background:#043970"],
  tr[style*="background:#043970"],
  th[style*="background:#043970"],
  td[style*="background:#043970"],
  span[style*="background:#043970"],
  .card[style*="background:#043970"],
  .section-banner[style*="background:#043970"],
  div[style*="background:linear-gradient"],
  section[style*="background:linear-gradient"],
  thead[style*="background:linear-gradient"],
  tr[style*="background:linear-gradient"],
  td[style*="background:linear-gradient"],
  .card[style*="background:linear-gradient"],
  .section-banner[style*="background:linear-gradient"]{background:#f1f5f9!important;background-image:none!important;color:#0f172a!important}

  /* ----- STEPPER ----- */
  .stepper{display:flex;gap:8px;margin-bottom:20px}
  .step{flex:1;padding:11px 14px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);font-size:13px;color:var(--text-soft);position:relative;transition:all .15s}
  .step.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;box-shadow:0 4px 10px rgba(4,57,112,.22)}
  .step.done{background:var(--success-soft);color:#047857;border-color:#86efac}

  /* ----- CANDIDATE DOSSIER ----- */
  .candidate-dossier{width:100%;max-width:none;margin:0 0 32px;padding-bottom:24px}
  .candidate-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;margin-bottom:16px;box-shadow:var(--shadow-xs)}
  .candidate-photo{width:120px;height:150px;border-radius:8px;border:1px solid var(--border-strong);background:#f8fafc;color:#043970;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;overflow:hidden;flex-shrink:0}
  .candidate-photo img{width:100%;height:100%;object-fit:cover}
  .candidate-hero-main{min-width:0}
  .candidate-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-weight:800;margin-bottom:4px}
  .candidate-title{font-size:25px;line-height:1.15;font-weight:900;color:var(--text);margin:0;word-break:break-word}
  .candidate-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
  .candidate-chip{display:inline-flex;align-items:center;min-height:26px;border:1px solid var(--border);background:#f8fafc;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;color:#334155;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .candidate-photo-preview{width:180px;height:225px;background:#fff;border:1px solid #043970!important;box-shadow:0 4px 12px rgba(15,23,42,.10)}
  .photo-field-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}
  .photo-clickzone{position:relative;width:240px;height:300px;border-radius:12px;overflow:hidden;cursor:pointer;border:2px dashed #cbd5e1;background:#f8fafc;display:flex;align-items:center;justify-content:center;transition:border-color .15s,box-shadow .15s}
  .photo-clickzone:hover{border-color:#2563eb;border-style:solid;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
  .photo-preview-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
  .photo-preview-inner img{width:100%;height:100%;object-fit:cover;display:block}
  .photo-cam-overlay{position:absolute;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
  .photo-clickzone:hover .photo-cam-overlay{opacity:1}
  .photo-remove-badge{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#dc2626;color:#fff;border:none;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.3)}
  .photo-remove-badge:hover{background:#b91c1c}
  .photo-hint{font-size:10px;color:#94a3b8;letter-spacing:.02em}
  .candidate-id-photo-row{display:grid;grid-template-columns:auto minmax(260px,1fr);gap:18px;align-items:start}
  .candidate-id-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;padding-top:20px}
  .candidate-dossier-grid{display:flex;flex-direction:column;gap:12px;max-width:100%}
  .candidate-main{min-width:0}
  .candidate-stepper{margin-bottom:14px}
  .candidate-side{position:static;display:flex;flex-direction:column;gap:12px;min-width:0}
  .candidate-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;box-shadow:var(--shadow-xs);min-width:0}
  .candidate-panel-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-weight:900;margin-bottom:10px}
  .candidate-panel p{font-size:12px;line-height:1.45;color:var(--text-soft);margin:10px 0 0}
  .candidate-progress-strip{position:sticky;top:0;z-index:16;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;box-shadow:var(--shadow-xs)}
  .candidate-progress-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
  .candidate-progress-top .candidate-panel-label{margin-bottom:2px;font-size:9.5px}
  .candidate-progress-top p{font-size:10.5px;line-height:1.25;color:var(--text-soft);margin:0}
  .candidate-progress-score{display:flex;align-items:baseline;gap:8px;white-space:nowrap;color:var(--text)}
  .candidate-progress-score strong{font-size:18px;line-height:1;font-weight:900}
  .candidate-progress-score span{font-size:11px;font-weight:900;color:#047857}
  .candidate-progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--text)}
  .candidate-progress-row strong{font-size:24px;line-height:1;font-weight:900}
  .candidate-progress-row span{font-size:13px;font-weight:800;color:#047857}
  .candidate-progress-track{height:5px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:6px}
  .candidate-progress-bar{height:100%;background:#047857;border-radius:999px;transition:width .2s ease}
  .candidate-section-list{display:flex;flex-direction:column;gap:6px}
  .candidate-section-list-horizontal{display:grid;grid-template-columns:repeat(8,minmax(96px,1fr));gap:5px;margin-top:7px;overflow-x:auto;padding-bottom:1px}
  .candidate-section-link{width:100%;min-height:32px;display:grid;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:6px;text-align:left;border:1px solid var(--border);background:#fff;border-radius:7px;padding:5px 7px;color:#475569;cursor:pointer}
  .candidate-section-link span{width:21px;height:21px;border-radius:999px;background:#e2e8f0;color:#475569;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:900}
  .candidate-section-link strong{font-size:10.5px;line-height:1.15;font-weight:800;white-space:normal}
  .candidate-section-link.active{border-color:#f59e0b;background:#fffbeb;color:#92400e}
  .candidate-section-link.active span{background:#f59e0b;color:#fff}
  .candidate-section-link.done{border-color:#86efac;background:#f0fdf4;color:#166534}
  .candidate-section-link.done span{background:#16a34a;color:#fff}
  .candidate-section-link:disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}
  .candidate-actions-panel{display:flex;flex-direction:column;gap:8px}
  .candidate-actions-panel .btn{width:100%;justify-content:center}
  .candidate-actions-row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;box-shadow:var(--shadow-xs)}
  .candidate-actions-row .btn{width:auto;min-height:36px}
  .candidate-section-card{position:relative;padding:0;margin-bottom:14px;overflow:visible}
  .candidate-section-card.candidate-section-attention{box-shadow:0 0 0 3px rgba(245,158,11,.28),0 18px 34px rgba(15,23,42,.10)!important}
  .candidate-section-card.candidate-section-attention .rh-panel-fieldset{border-color:#fbbf24!important}
  .candidate-section-card.candidate-section-attention .rh-panel-fieldset>legend{color:#b45309!important}
  .candidate-section-card[data-locked="1"] .input:disabled,
  .candidate-section-card[data-locked="1"] .select:disabled,
  .candidate-section-card[data-locked="1"] .textarea:disabled{
    opacity:1;
    background:#fff!important;
    color:#0f172a!important;
    font-weight:800;
    border-color:#dbe3ee;
    -webkit-text-fill-color:#0f172a;
  }
  .candidate-section-card[data-locked="1"] .label{color:#334155;font-weight:800}
  .candidate-section-card[data-locked="1"] .input.input-error:disabled,
  .candidate-section-card[data-locked="1"] .select.input-error:disabled,
  .candidate-section-card[data-locked="1"] .textarea.input-error:disabled{
    border-color:#dc2626!important;
    background:#fef2f2!important;
    color:#7f1d1d!important;
    box-shadow:0 0 0 3px rgba(220,38,38,.16)!important;
    -webkit-text-fill-color:#7f1d1d;
  }
  .candidate-section-card[data-locked="1"] .candidate-correction-field{
    cursor:text!important;
    border-color:#dc2626!important;
    background:#fff7ed!important;
    color:#7f1d1d!important;
    font-weight:900;
    box-shadow:0 0 0 3px rgba(220,38,38,.18)!important;
  }
  .candidate-section-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px 6px}
  .candidate-section-kicker{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-weight:900}
  .candidate-section-card .rh-panel-fieldset{margin:0 12px 0!important;border-color:#bfdbfe!important}
  .candidate-section-card .rh-panel-fieldset>legend{color:#1f6fb2!important;font-size:13px!important;font-weight:900!important}
  .candidate-section-card .rh-panel-fieldset>.grid,
  .candidate-section-card .rh-panel-fieldset>.mt-4,
  .candidate-section-card .rh-panel-fieldset>#exp-rows{margin-top:10px}
  .candidate-section-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);background:#f8fafc;padding:10px 16px;margin-top:10px}
  .candidate-section-card.current .candidate-section-footer{display:none}
  .candidate-global-section-footer{
    position:sticky;
    bottom:10px;
    z-index:34;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:1px solid var(--border);
    border-radius:8px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(6px);
    box-shadow:0 -10px 24px rgba(15,23,42,.12);
    padding:12px 14px;
    margin-top:6px;
  }
  .candidate-global-footer-label{font-size:12px;font-weight:900;color:#0f172a;text-transform:uppercase;letter-spacing:.03em}
  .candidate-global-footer-note{font-size:12px;color:#64748b;margin-top:2px}
  .candidate-global-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
  .candidate-section-actions{display:flex;flex-wrap:wrap;gap:8px}
  .candidate-section-note{font-size:12px;line-height:1.35;color:var(--text-soft);text-align:right}
  @media (max-width:980px){
    .candidate-hero{grid-template-columns:auto minmax(0,1fr);align-items:start}
    .candidate-hero>.btn{grid-column:1/-1;width:100%;justify-content:center}
    .candidate-section-list-horizontal{grid-template-columns:repeat(4,minmax(132px,1fr))}
  }
  @media (max-width:640px){
    .candidate-hero{grid-template-columns:1fr}
    .candidate-id-photo-row,.candidate-id-name-fields{grid-template-columns:1fr}
    .candidate-id-name-fields{padding-top:0}
    .candidate-progress-strip{position:static}
    .candidate-progress-top{flex-direction:column}
    .candidate-section-list-horizontal{grid-template-columns:repeat(2,minmax(132px,1fr))}
    .candidate-actions-row{justify-content:stretch}
    .candidate-actions-row .btn{width:100%}
    .candidate-global-section-footer{position:static;flex-direction:column;align-items:stretch}
    .candidate-global-footer-actions .btn{width:100%;justify-content:center}
    .candidate-photo{width:70px;height:82px}
    .candidate-title{font-size:21px}
    .candidate-section-head,.candidate-section-footer{flex-direction:column;align-items:flex-start}
    .candidate-section-note{text-align:left}
  }

  /* ----- BREADCRUMB / TOPBAR HEADER ----- */
  .topbar-shell{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .topbar-id{display:flex;align-items:center;gap:12px}
  .topbar-icon{width:40px;height:40px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;box-shadow:var(--shadow-xs)}
  .topbar-meta{display:flex;flex-direction:column;line-height:1.2;min-width:0}
  .topbar-meta .crumb{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-weight:600}
  .topbar-meta .title{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* ----- KPI CARD (utilisable partout) ----- */
  .kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-xs);transition:all .15s;position:relative;overflow:hidden}
  .kpi:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
  .kpi .kpi-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);font-weight:700}
  .kpi .kpi-value{font-size:24px;font-weight:800;color:var(--text);line-height:1.1;margin-top:6px}
  .kpi .kpi-sub{font-size:11px;color:var(--text-mute);margin-top:4px}
  .kpi.kpi-clickable{cursor:pointer}
  .kpi.kpi-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
  .card.kpi-clickable .label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800;margin:0}
  .card.kpi-clickable .value{font-size:28px;line-height:1.1;font-weight:900;color:#0f172a;margin-top:6px}
  .card.kpi-clickable .sub{font-size:11px;color:#64748b;margin-top:4px}

  /* ----- LOCKED FORM (presence sheet) ----- */
  @keyframes fpqPulseRing{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45),var(--shadow-lg)}50%{box-shadow:0 0 0 12px rgba(220,38,38,0),var(--shadow-lg)}}
  .fpq-banner-pulse{animation:fpqPulseRing 2.4s ease-in-out infinite}
  @keyframes fpqPulse{0%,100%{opacity:1}50%{opacity:.25}}
  .fpq-locked{opacity:.55;cursor:not-allowed!important;background:var(--surface-2)!important}
  .fpq-locked-card{background:var(--surface-2);border:1px dashed var(--border-strong)!important}
  @keyframes redBlink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(220,38,38,.7)}50%{opacity:.35;box-shadow:0 0 0 9px rgba(220,38,38,0)}}
  .red-blink-dot{width:15px;height:15px;border-radius:999px;background:#dc2626;display:inline-block;animation:redBlink 1s infinite}
  @keyframes dpReceptionBlink{0%,100%{color:#991b1b!important}50%{color:#c2410c!important}}
  .dp-reception-blink{border:0!important;background:transparent!important;box-shadow:none!important}
  .dp-reception-text{animation:dpReceptionBlink 1.05s ease-in-out infinite;font-weight:900!important}
  .dp-reception-blink .nav-count{background:#dc2626!important;color:#fff!important}
  .fpq-site-alert{background:#fee2e2!important;color:#991b1b!important;border:2px solid #dc2626!important;animation:redBlink 1s infinite;border-radius:6px}
  .fpq-alert-marker{display:inline-flex;align-items:center;gap:6px;background:#dc2626;color:#fff;border-radius:999px;padding:4px 9px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
  .fpq-alert-dot{width:9px;height:9px;border-radius:999px;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35)}

  /* ----- PRINT ----- */
  .print-only{display:none}
  @media print{
    body{background:#fff!important;color:#000!important}
    .no-print,.sidebar,.topbar,.topbar-shell,.search-box{display:none!important}
    .print-only{display:block}
    .card{background:#fff!important;border:1px solid #ccc!important;color:#000!important;box-shadow:none!important}
    table,th,td{color:#000!important;border-color:#ccc!important;background:#fff!important}
    .label{color:#444!important}
  }

  /* ----- SCROLLBARS ----- */
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-track{background:transparent}
  ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px;border:2px solid transparent;background-clip:padding-box}
  ::-webkit-scrollbar-thumb:hover{background:#94a3b8;background-clip:padding-box;border:2px solid transparent}

.fiche-document-template{font-family:Arial;color:#111827}.fiche-document-template .head{border-bottom:3px solid #043970;padding-bottom:12px;margin-bottom:18px}.fiche-document-template .brand{font-weight:900;color:#043970;font-size:20px}.fiche-document-template h1{text-align:center;font-size:20px;text-transform:uppercase}.fiche-document-template .doc-grid{display:grid;grid-template-columns:180px 1fr;gap:8px;margin:18px 0}.fiche-document-template .k{font-weight:700;color:#475569}.fiche-document-template .box{border:1px solid #cbd5e1;padding:12px;min-height:70px}.fiche-document-template .warn{background:#fee2e2;border:1px solid #fecaca;padding:10px;color:#991b1b;font-weight:700}.fiche-document-template .sign{margin-top:40px;display:flex;justify-content:space-between}.fiche-document-template .sign div{width:42%;border-top:1px solid #111827;text-align:center;padding-top:8px}

.fiche-document-template-alt{font-family:Arial;color:#111827}.fiche-document-template-alt .head{border-bottom:3px solid #043970;padding-bottom:12px;margin-bottom:22px}.fiche-document-template-alt .brand{font-weight:900;color:#043970;font-size:20px}.fiche-document-template-alt h1{text-align:center;text-transform:uppercase;font-size:21px}.fiche-document-template-alt .meta{display:grid;grid-template-columns:160px 1fr;gap:8px;margin:22px 0}.fiche-document-template-alt .k{font-weight:800;color:#475569}.fiche-document-template-alt .box{border:1px solid #cbd5e1;padding:14px;margin:14px 0;min-height:80px}.fiche-document-template-alt .sign{margin-top:45px;text-align:right}.fiche-document-template-alt .sign span{display:inline-block;width:220px;border-top:1px solid #111827;text-align:center;padding-top:8px}

.fiche-real{font-family:Arial,Helvetica,sans-serif;color:#111827;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:12mm;box-sizing:border-box}
    .fiche-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #043970;padding-bottom:8mm;margin-bottom:8mm}
    .fiche-title{font-size:22px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#043970}.fiche-sub{font-size:11px;color:#64748b;margin-top:2mm}
    .fiche-code{font-family:monospace;font-weight:900;font-size:18px;background:#043970;color:#fff;padding:8px 14px;border-radius:6px}
    .fiche-hero{display:grid;grid-template-columns:35mm 1fr;gap:8mm;margin-bottom:7mm}.fiche-photo{width:35mm;height:43mm;border:1px solid #94a3b8;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#64748b;font-size:11px}.fiche-photo img{width:100%;height:100%;object-fit:cover}
    .fiche-name{font-size:20px;font-weight:900;text-transform:uppercase}.fiche-muted{font-size:12px;color:#64748b}.fiche-status{display:inline-block;margin-top:3mm;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px;font-weight:800;text-transform:uppercase}
    .fiche-section{break-inside:avoid;margin-top:6mm}.fiche-section h2{font-size:13px;text-transform:uppercase;color:#043970;border-bottom:1px solid #043970;padding-bottom:2mm;margin:0 0 3mm;font-weight:900;letter-spacing:.04em}
    .fiche-grid{display:grid;grid-template-columns:1fr 1fr;gap:2mm 4mm}.fiche-cell{border:1px solid #d1d5db;padding:2.2mm;background:#fff;min-height:12mm}.fiche-cell b{display:block;font-size:9px;text-transform:uppercase;color:#64748b;margin-bottom:1mm}.fiche-cell span{font-size:12px;font-weight:700;word-break:break-word}
    .fiche-table{width:100%;border-collapse:collapse;font-size:11px}.fiche-table th{background:#f1f5f9;text-align:left;color:#334155;font-size:9px;text-transform:uppercase}.fiche-table th,.fiche-table td{border:1px solid #d1d5db;padding:5px;vertical-align:top}
    .fiche-chip{display:inline-block;border:1px solid #cbd5e1;border-radius:999px;padding:3px 7px;font-size:10px;margin:1px;background:#f8fafc}.fiche-sign{display:flex;justify-content:space-between;margin-top:14mm;font-size:12px}.fiche-sign div{width:60mm;border-top:1px solid #111827;text-align:center;padding-top:3mm;font-weight:700}
    @media print{@page{size:A4 portrait;margin:0}body{margin:0;background:#fff}.fiche-real{box-shadow:none;margin:0}.no-print{display:none!important}}

.agent-document-print{font-family:Arial,Helvetica,sans-serif;margin:0;color:#111827;background:#fff}
  .agent-document-print main{padding:18mm;min-height:260mm}
  .agent-document-print .head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #043970;padding-bottom:10mm;margin-bottom:12mm}
  .agent-document-print .brand{font-weight:900;color:#043970;font-size:18px;text-transform:uppercase}.agent-document-print .meta{text-align:right;font-size:12px;color:#475569}
  .agent-document-print h1{text-align:center;font-size:22px;text-transform:uppercase;margin:0 0 14mm;color:#111827;letter-spacing:.04em}
  .agent-document-print .doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12mm}
  .agent-document-print .doc-grid div{border:1px solid #d1d5db;padding:8px}.agent-document-print .doc-grid b{display:block;font-size:11px;color:#64748b;text-transform:uppercase}.agent-document-print .doc-grid span{font-size:14px;font-weight:700}
  .agent-document-print p{font-size:15px;line-height:1.7;text-align:justify}.agent-document-print .sign{margin-top:28mm;display:flex;justify-content:flex-end}.agent-document-print .sign div{text-align:center;width:70mm;border-top:1px solid #111827;padding-top:8px;font-weight:700}
  .agent-document-print .model-note{margin-top:10mm;padding:8px;border:1px dashed #94a3b8;color:#475569;font-size:12px}
  @media print{@page{size:A4 portrait;margin:16mm}.agent-document-print button{display:none}}

.plain-print-page{font-family:system-ui,sans-serif;margin:0;padding:0}@media print{@page{margin:1cm}}

.badge-print-page{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#111827;display:flex;gap:8mm;flex-wrap:wrap;padding:10mm;align-items:flex-start}.badge-sheet-preview{display:flex;gap:8mm;flex-wrap:wrap;align-items:flex-start;justify-content:center}.badge-card{background:#fff;border:1px solid #111827;border-radius:3mm;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.12);display:flex;flex-direction:column;break-inside:avoid}.badge-top{color:#fff;padding:1.25mm 4mm;text-align:center;flex:0 0 auto}.badge-brand{font-weight:900;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.badge-type{font-size:6px;margin-top:.35mm;letter-spacing:.12em}.badge-body{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;padding:2.5mm 2.8mm 1.8mm;overflow:hidden}.badge-identity-row{display:grid;grid-template-columns:auto 1fr;gap:2.4mm;align-items:center;width:100%;min-height:31mm}.badge-photo{border:1px solid #cbd5e1;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:8px;color:#64748b;overflow:hidden;flex:0 0 auto}.badge-photo img{width:100%;height:100%;object-fit:cover}.badge-identity-fields{display:flex;flex-direction:column;gap:1.35mm;min-width:0}.badge-field{display:grid;grid-template-columns:14.5mm minmax(0,1fr);gap:.9mm;align-items:baseline;font-size:9.6px;line-height:1.12;min-height:5.8mm}.badge-field span{font-weight:500;color:#475569}.badge-field b{font-weight:600;text-transform:uppercase;overflow:hidden;white-space:normal;overflow-wrap:anywhere}.badge-field-code b{font-family:monospace;font-weight:900;font-size:12.5px;color:#043970;letter-spacing:0}.badge-name{font-weight:400;font-size:12px;text-transform:uppercase;line-height:1.05;height:13mm;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;overflow-wrap:anywhere;word-break:normal;letter-spacing:0}.badge-job{font-size:8.4px;line-height:1.1;height:6.2mm;width:100%;margin-top:1mm;color:#334155;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;overflow-wrap:anywhere}.badge-pointage-qr{width:17mm;height:20mm;margin:.7mm auto 0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;padding:.6mm;flex:0 0 auto}.badge-pointage-qr img{width:14.5mm;height:14.5mm;display:block}.badge-pointage-qr span{font-size:5.2px;color:#475569;margin-top:.35mm;text-transform:uppercase;letter-spacing:0}.badge-mat{font-family:monospace;font-weight:900;font-size:16px;height:8mm;margin-top:1mm;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.badge-meta{font-size:8px;color:#64748b;margin-top:1.5mm}.badge-foot{font-size:6.6px;text-align:center;padding:1.1mm 2mm;border-top:1mm solid;flex:0 0 auto}.badge-back-body{font-size:8px;line-height:1.3;padding:3.4mm 4mm;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.3mm;flex:1}.badge-back-qr{margin-top:.4mm;border:1px solid #cbd5e1;padding:.7mm;background:#fff;flex:0 0 auto}.badge-back-qr img{width:21mm;height:21mm;display:block}.badge-back-text{min-height:24mm;display:flex;flex-direction:column;justify-content:center;font-size:7px;line-height:1.32;text-align:justify}.badge-back-text p{margin:.5mm 0}.badge-small{font-size:6.2px;color:#475569}@media print{@page{size:A4;margin:8mm}.badge-card{box-shadow:none}.no-print{display:none!important}}
.badge-builder-grid{align-items:start}.badge-agent-panel{height:calc(100vh - 190px);min-height:520px;display:flex;flex-direction:column;overflow:hidden}.badge-agent-scroll{flex:1;min-height:0;overflow:auto;padding-right:4px}.badge-preview-sticky{position:sticky;top:86px;align-self:start}@media(max-width:1023px){.badge-agent-panel{height:auto;min-height:0}.badge-agent-scroll{max-height:420px}.badge-preview-sticky{position:static}}
.badge-name-sm{font-size:10.4px;line-height:1.02}.badge-name-xs{font-size:9px;line-height:1}
.public-badge-view{min-height:100vh;background:#eef4fb;padding:12px;display:flex;align-items:center;justify-content:center}.public-badge-page{width:100%;min-height:calc(100vh - 24px);display:flex;align-items:center;justify-content:center}.public-badge-shell{width:min(435px,100%);min-height:calc(100vh - 24px);background:#fff;border:1.5px solid #2476bd;border-radius:28px;box-shadow:0 18px 48px rgba(15,23,42,.12);padding:18px 22px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;color:#043970}.public-badge-shell.is-inactive{border-color:#dc2626}.public-badge-status{display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;text-transform:uppercase;border-radius:999px;padding:8px 18px;line-height:1}.public-badge-status.active{color:#16751a;background:#d9ffc8;border:1.5px solid #83dc55}.public-badge-status.inactive{color:#991b1b;background:#fee2e2;border:1.5px solid #f87171}.public-badge-photo{width:100%;height:min(46vh,328px);border:1.5px solid #2476bd;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;color:#16751a;font-size:22px;font-weight:900;overflow:hidden;box-sizing:border-box}.public-badge-shell.is-inactive .public-badge-photo{border-color:#dc2626;color:#991b1b}.public-badge-photo img{width:100%;height:100%;object-fit:cover;display:block}.public-badge-info{margin:0;color:#043970;font-weight:900;line-height:1.08;text-align:center}.public-badge-info h1{margin:0;font-size:30px;line-height:1.08;font-weight:900;text-transform:capitalize;color:#043970}.public-badge-code{margin-top:2px;font-size:30px;line-height:1.05;font-weight:900;color:#043970}.public-badge-function{margin-top:6px;font-size:23px;line-height:1.05;font-weight:900;color:#043970}.public-badge-blood{margin-top:5px;font-size:22px;line-height:1.05;font-weight:900;color:#0f172a}.public-badge-qr{width:150px;height:150px;border:1px solid #dbe3ef;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;box-sizing:border-box}.public-badge-qr img{width:100%;height:100%;display:block}.public-badge-loading,.public-badge-error{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:22px;text-align:center;color:#475569;box-shadow:0 12px 30px rgba(15,23,42,.12)}.public-badge-error{color:#b91c1c}@media(max-width:380px){.public-badge-shell{padding:16px 16px 18px;gap:14px;border-radius:24px}.public-badge-photo{height:min(43vh,288px)}.public-badge-info h1,.public-badge-code{font-size:25px}.public-badge-function{font-size:20px}.public-badge-blood{font-size:19px}.public-badge-qr{width:132px;height:132px}}

.sgdi-qr{margin-top:5px;background:#fff;display:inline-block;padding:5px;border:1px solid #cbd5e1;text-align:center}.sgdi-qr img{width:30mm;height:30mm;display:block;margin:auto}.sgdi-qr-text{font-family:monospace;font-size:8px;text-align:center;margin-top:3px;letter-spacing:.03em;max-width:42mm;word-break:break-all}
.mat-erp-shell{background:#fff;border:1px solid #dbe3ee;border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden}
.mat-erp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#f8fafc,#eef4fb);border-bottom:1px solid #dbe3ee}
.mat-erp-eyebrow{font-size:10px;font-weight:900;text-transform:uppercase;color:#043970;letter-spacing:.04em}
.mat-erp-title{font-size:18px;font-weight:950;color:#0f172a;line-height:1.15}
.mat-erp-tools{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.mat-erp-soc{min-width:210px;max-width:280px}
.mat-erp-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-bottom:1px solid #dbe3ee;background:#f8fafc}
.mat-erp-flow button{min-height:42px;padding:8px 10px;border:0;border-right:1px solid #dbe3ee;background:transparent;color:#334155;font-size:11px;font-weight:900;text-transform:uppercase;text-align:center;cursor:pointer}
.mat-erp-flow button:hover{background:#e8f0f8;color:#043970}
.mat-erp-tabs{display:flex;gap:6px;padding:10px;background:#fff;overflow-x:auto}
.mat-erp-tabs a,.mat-erp-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:8px 11px;border:1px solid #dbe3ee;border-radius:7px;background:#f8fafc;color:#334155;text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}
.mat-erp-tabs a.active,.mat-erp-tabs button.active{background:#043970;color:#fff;border-color:#043970;box-shadow:0 5px 12px rgba(4,57,112,.18)}
.mat-erp-tabs a span,.mat-erp-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-size:10px;font-weight:950}
.mat-erp-tabs a.active span,.mat-erp-tabs button.active span{background:#ffd16a;color:#01112f}
.recruitment-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.recruitment-stable-kpi{
  min-height:112px!important;
}
#view .recruitment-page-title{
  text-transform:none!important;
}
.kpi-clickable{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}
.kpi-clickable:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:#b8c5d6}
.kpi-clickable .label{font-size:10px;color:#64748b;text-transform:uppercase;font-weight:900}
.kpi-clickable .value{font-size:28px;font-weight:950;color:#0f172a;line-height:1.1;margin-top:4px}
.kpi-clickable .sub{font-size:11px;color:#64748b;margin-top:4px}
.card.kpi-clickable,.dash-kpi,.kpi.kpi-clickable{height:98px!important;min-height:98px!important;box-sizing:border-box!important;padding:16px 18px!important;border-radius:7px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important}
.card.kpi-clickable.text-center{align-items:center!important;text-align:center!important}
.card.kpi-clickable .text-4xl,.card.kpi-clickable .text-3xl,.card.kpi-clickable .text-2xl,.dash-kpi .value,.kpi.kpi-clickable .kpi-value{font-size:24px!important;line-height:1.05!important;margin-top:6px!important}
.card.kpi-clickable .text-xs,.dash-kpi .label,.dash-kpi .sub,.kpi.kpi-clickable .kpi-label,.kpi.kpi-clickable .kpi-sub{line-height:1.2!important}
.card.recruitment-stable-kpi{
  height:112px!important;
  min-height:112px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.card.recruitment-stable-kpi .text-xs{
  line-height:1.2!important;
}
.card.recruitment-stable-kpi .text-3xl{
  line-height:1.05!important;
}
.module-counters-ribbon .module-counter-item,.drh-workforce-ribbon .drh-workforce-item{height:auto!important;min-height:68px!important;padding:10px 14px!important;border-radius:12px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;overflow:visible!important}
@media(max-width:760px){.card.kpi-clickable,.dash-kpi,.kpi.kpi-clickable{height:auto!important;min-height:96px!important}}
@media (max-width:980px){
  .mat-erp-head{flex-direction:column}
  .mat-erp-tools{justify-content:flex-start;width:100%}
  .mat-erp-soc{min-width:100%;max-width:100%}
  .mat-erp-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.dotation-print{font-family:Arial,Helvetica,sans-serif;color:#111827;background:#fff;padding:18px 22px;max-width:190mm;margin:0 auto;box-sizing:border-box}
    .dotation-print .doc-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #111827;padding-bottom:10px;margin-bottom:12px}
    .dotation-print .doc-brand{display:flex;align-items:center;gap:14px}.dotation-print .dotation-logo{width:58px;height:58px;object-fit:contain;display:block}
    .dotation-print h1{font-size:22px;margin:0;font-weight:900;letter-spacing:.02em}.dotation-print h2{font-size:13px;text-transform:uppercase;margin:14px 0 7px;border-bottom:1px solid #111827;padding-bottom:4px}.dotation-print .muted{font-size:12px;color:#475569;margin-top:4px}.dotation-print .doc-ref{text-align:right;border:1px solid #111827;padding:8px 12px;font-family:monospace;font-weight:800}.dotation-print .doc-ref small{display:block;font-family:Arial;font-weight:400;margin-top:4px}
    .dotation-print table{width:100%;border-collapse:collapse}.dotation-print .info-table td{border:1px solid #cbd5e1;padding:6px;font-size:12px;overflow-wrap:anywhere}.dotation-print .info-table td:nth-child(odd){background:#f8fafc;font-weight:700;width:16%}
    .dotation-print .items-table th,.dotation-print .items-table td{border:1px solid #94a3b8;padding:4px;font-size:9.5px;vertical-align:top;overflow-wrap:anywhere}.dotation-print .items-table th{background:#e2e8f0;text-align:left}.dotation-print .items-table thead{display:table-header-group}.dotation-print .items-table tr{break-inside:avoid}.dotation-print .items-table tfoot td{background:#f8fafc}.dotation-print .num{text-align:right;white-space:nowrap}
    .dotation-print .engagement{border:1px solid #111827;padding:10px;margin-top:14px;font-size:12px;line-height:1.45}.dotation-print .engagement p{margin:6px 0}.dotation-print .checks{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}.dotation-print .checks label{display:flex;align-items:center;gap:6px;font-size:11px}.dotation-print .checks span{width:13px;height:13px;border:1px solid #111827;display:inline-block}
    .dotation-print .signatures{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:16px;font-size:12px}.dotation-print .sig-box{height:86px;border:1px solid #111827;margin-top:8px}.dotation-print .dotation-sheet-qr{display:flex;justify-content:flex-end;margin-top:10px}.dotation-print .dotation-sheet-qr .sgdi-qr{margin-top:0;padding:3px}.dotation-print .dotation-sheet-qr .sgdi-qr img{width:18mm;height:18mm}.dotation-print .dotation-sheet-qr .sgdi-qr-text{font-size:6px;max-width:24mm}
    @media print{@page{size:A4 portrait;margin:10mm}body{margin:0;background:#fff}.dotation-print{padding:0;max-width:none;margin:0}.no-print{display:none!important}}

.bulletin-paie{font-family:Arial,sans-serif;color:#111;background:#fff;padding:24px;max-width:900px;margin:auto}
      .bp-head{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid #111;padding-bottom:12px;margin-bottom:14px}
      .bp-title{font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
      .bp-sub{font-size:12px;color:#555;margin-top:4px}
      .bp-box{border:1px solid #333;padding:10px;margin-bottom:12px}
      .bp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
      .bp-box h3{font-size:13px;text-transform:uppercase;margin:0 0 8px 0;background:#f1f5f9;padding:6px}
      .bp-line{display:flex;justify-content:space-between;border-bottom:1px dotted #ccc;padding:4px 0;font-size:12px}
      .bulletin-paie table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}
      .bulletin-paie th,.bulletin-paie td{border:1px solid #333;padding:7px}
      .bulletin-paie th{background:#f1f5f9;text-transform:uppercase;font-size:11px}
      .bulletin-paie .r{text-align:right}
      .bulletin-paie .bp-muted{color:#475569;font-weight:400}
      .bp-net{border:2px solid #111;background:#fff;color:#111;padding:14px;margin-top:14px;text-align:right}
      .bp-net .label{font-size:12px;text-transform:uppercase;color:#111;font-weight:800}
      .bp-net .value{font-size:26px;font-weight:900;color:#111}
      .bp-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:34px;font-size:12px}
      @media print{body{background:#fff}.bulletin-paie{padding:0}.no-print{display:none!important}}


  /* ----- GLOBAL LIGHT BLUE / YELLOW OUTLINE PILL BUTTONS ----- */
  :root{--sgdi-btn-yellow:#dceeff;--sgdi-btn-yellow-hover:#c7e4ff;--sgdi-btn-text:#0f172a;--sgdi-btn-border:#facc15}
  .btn,
  button.btn,
  a.btn,
  .topbar-back-btn,
  .topbar-societe-btn,
  .topbar-dialogue-btn,
  .topbar-notification-btn,
  .topbar-structure-btn,
  .main-event-btn,
  .sgdi-login-submit,
  .sgdi-societe-access,
  .sgdi-societe-edit,
  .sgdi-societe-logout,
  .login-admin-system-shortcut,
  .module-page-header-actions button,
  .module-page-header-actions .btn,
  .candidate-actions-panel .btn,
  .candidate-actions-row .btn,
  .candidate-global-footer-actions .btn,
  td .btn,
  .mat-actions .btn,
  .site-map-missing button{
    background:var(--sgdi-btn-yellow)!important;
    background-image:none!important;
    color:var(--sgdi-btn-text)!important;
    border:2px solid var(--sgdi-btn-border,#facc15)!important;
    border-radius:999px!important;
    box-shadow:none!important;
    min-height:38px!important;
    padding:0 16px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    font-weight:950!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    text-transform:none!important;
    letter-spacing:0!important;
  }
  .btn:hover,
  button.btn:hover,
  a.btn:hover,
  .topbar-back-btn:hover,
  .topbar-societe-btn:hover,
  .topbar-dialogue-btn:hover,
  .topbar-notification-btn:hover,
  .topbar-structure-btn:hover,
  .main-event-btn:hover,
  .sgdi-login-submit:hover,
  .sgdi-societe-access:hover,
  .sgdi-societe-edit:hover,
  .sgdi-societe-logout:hover,
  .login-admin-system-shortcut:hover,
  .module-page-header-actions button:hover,
  .module-page-header-actions .btn:hover,
  td .btn:hover,
  .mat-actions .btn:hover,
  .site-map-missing button:hover{
    background:var(--sgdi-btn-yellow-hover)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
    transform:none!important;
    box-shadow:none!important;
  }
  .btn:active,
  button.btn:active,
  a.btn:active,
  .topbar-back-btn:active,
  .topbar-societe-btn:active,
  .topbar-dialogue-btn:active,
  .topbar-notification-btn:active,
  .topbar-structure-btn:active,
  .main-event-btn:active{transform:none!important}
  .btn[disabled],button[disabled],.btn.disabled{
    background:#e5e7eb!important;color:#64748b!important;border-color:#e5e7eb!important;opacity:1!important;cursor:not-allowed!important;
  }
  .sidebar .btn,.sidebar-back .btn,.sidebar-user .btn{
    width:100%!important;background:var(--sgdi-btn-yellow)!important;color:var(--sgdi-btn-text)!important;border-color:var(--sgdi-btn-border,#facc15)!important;border-radius:999px!important;
  }
  .sgdi-lang-choice .btn-primary{
    background:var(--sgdi-btn-yellow)!important;color:var(--sgdi-btn-text)!important;border-color:var(--sgdi-btn-border,#facc15)!important;
  }
  .topbar-structure-btn.active{
    background:#16a34a!important;color:#fff!important;border-color:#16a34a!important;
  }


  /* ----- ALERT BUTTON OVERRIDE ----- */
  .topbar-notification-btn,
  .topbar-notification-btn.has-alert,
  .topbar-notification-btn:hover{
    background:#dc2626!important;
    color:#fff!important;
    border-color:#dc2626!important;
    box-shadow:0 0 0 3px rgba(220,38,38,.18),0 8px 20px rgba(220,38,38,.28)!important;
  }
  .topbar-notification-btn .badge{
    background:#fff!important;
    color:#dc2626!important;
  }


  /* ----- LANGUAGE BUTTONS BLUE OVERRIDE ----- */
  .sgdi-lang-choice .btn,
  .sgdi-lang-choice .btn-primary,
  .sgdi-lang-choice .btn-secondary,
  .sgdi-lang-choice button,
  .sgdi-lang-choice button:hover{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:999px!important;
    background:#043970!important;
    color:#fff!important;
    border-color:#043970!important;
    box-shadow:none!important;
    font-size:11px!important;
    font-weight:950!important;
  }
  .sgdi-lang-choice .btn-secondary,
  .sgdi-lang-choice button:not(.btn-primary){
    background:#0759a3!important;
    border-color:#0759a3!important;
  }


  /* ----- UNIFORM ACTION BUTTON ROWS ----- */
  .module-page-header-actions,
  .recrutement-add-btn,
  .recrutement-template-btn,
  .recrutement-import-btn,
  .recrutement-import-free-btn{
    align-items:center!important;
  }
  .module-page-header-actions .btn,
  .module-page-header-actions button,
  .module-page-header-actions a.btn,
  .recrutement-add-btn,
  .recrutement-template-btn,
  .recrutement-import-btn,
  .recrutement-import-free-btn{
    height:40px!important;
    min-height:40px!important;
    min-width:138px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1!important;
    vertical-align:middle!important;
  }
  .module-page-header-actions .btn input[type="checkbox"],
  .module-page-header-actions button input[type="checkbox"],
  .btn input[type="checkbox"]{
    width:13px!important;
    height:13px!important;
    margin:0 6px 0 0!important;
    flex:0 0 auto!important;
    vertical-align:middle!important;
  }
  .module-page-header-actions{
    gap:8px!important;
  }
  @media(max-width:820px){
    .module-page-header-actions .btn,
    .module-page-header-actions button,
    .module-page-header-actions a.btn,
    .recrutement-add-btn,
    .recrutement-template-btn,
    .recrutement-import-btn,
    .recrutement-import-free-btn{min-width:0!important;flex:1 1 150px!important}
  }


  /* ----- RECRUITMENT ACTION BUTTONS LIGHT BLUE ----- */
  .module-page-header-actions .recrutement-add-btn,
  .module-page-header-actions .recrutement-template-btn,
  .module-page-header-actions .recrutement-import-btn,
  .module-page-header-actions .recrutement-import-free-btn,
  .recrutement-add-btn,
  .recrutement-template-btn,
  .recrutement-import-btn,
  .recrutement-import-free-btn{
    height:40px!important;
    min-height:40px!important;
    min-width:150px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    vertical-align:middle!important;
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
    box-shadow:none!important;
    line-height:1!important;
    font-weight:950!important;
  }
  .module-page-header-actions .recrutement-add-btn:hover,
  .module-page-header-actions .recrutement-template-btn:hover,
  .module-page-header-actions .recrutement-import-btn:hover,
  .module-page-header-actions .recrutement-import-free-btn:hover,
  .recrutement-add-btn:hover,
  .recrutement-template-btn:hover,
  .recrutement-import-btn:hover,
  .recrutement-import-free-btn:hover{
    background:var(--sgdi-btn-yellow-hover)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
    color:var(--sgdi-btn-text)!important;
  }


  /* ----- RECRUITMENT ACTION ROW FORCE ----- */
  .recrutement-actions-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  .recrutement-actions-row .btn,
  .recrutement-actions-row button,
  .recrutement-actions-row label.btn{
    height:40px!important;
    min-height:40px!important;
    min-width:150px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
    box-shadow:none!important;
    line-height:1!important;
    font-weight:950!important;
  }
  .recrutement-actions-row .btn:hover,
  .recrutement-actions-row button:hover,
  .recrutement-actions-row label.btn:hover{
    background:var(--sgdi-btn-yellow-hover)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
    color:var(--sgdi-btn-text)!important;
  }
  .recrutement-actions-row input[type="checkbox"]{
    width:13px!important;
    height:13px!important;
    margin:0 7px 0 0!important;
  }


  /* ----- CANDIDATE EXCEL BUTTONS SOFT BLUE MODEL ----- */
  .recrutement-actions-row .recrutement-template-btn,
  .recrutement-actions-row .recrutement-import-btn,
  .recrutement-actions-row .recrutement-import-free-btn{
    background:#dceeff!important;
    color:#0f172a!important;
    border:2px solid #facc15!important;
    border-radius:999px!important;
    min-width:150px!important;
    height:40px!important;
    box-shadow:none!important;
    font-weight:950!important;
  }
  .recrutement-actions-row .recrutement-template-btn:hover,
  .recrutement-actions-row .recrutement-import-btn:hover,
  .recrutement-actions-row .recrutement-import-free-btn:hover{
    background:#c7e4ff!important;
    color:#0f172a!important;
    border-color:#facc15!important;
  }


  /* ----- CANDIDATE HEADER BUTTONS SAME AS RESERVE PAGE BUTTON ----- */
  .recrutement-actions-row .recrutement-template-btn,
  .recrutement-actions-row .recrutement-import-btn,
  .recrutement-actions-row .recrutement-import-free-btn,
  .recrutement-actions-row .recrutement-add-btn{
    box-sizing:border-box!important;
    margin-top:.35cm!important;
    width:168px!important;
    min-width:168px!important;
    max-width:168px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 14px!important;
    border:2px solid var(--sgdi-btn-border,#facc15)!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    font-size:12px!important;
    font-weight:950!important;
    white-space:nowrap!important;
    line-height:1!important;
    box-shadow:0 6px 14px rgba(15,23,42,.14)!important;
  }
  .recrutement-actions-row .recrutement-template-btn:hover,
  .recrutement-actions-row .recrutement-import-btn:hover,
  .recrutement-actions-row .recrutement-import-free-btn:hover,
  .recrutement-actions-row .recrutement-add-btn:hover{
    background:var(--sgdi-btn-yellow-hover)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
  }


  /* ----- SIDEBAR BOTTOM BUTTONS LIGHT BLUE ----- */
  .sidebar-back .btn,
  .sidebar-back .btn:hover,
  .sidebar-user .btn,
  .sidebar-user .btn:hover{
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
    border-radius:999px!important;
    box-shadow:none!important;
    font-weight:950!important;
  }


  /* ----- FORCE CENTRAL PAGE TITLES ----- */
  #view.module-view h1,
  #view .module-page-header h1,
  #view h1.module-title-clean{
    font-size:30px!important;
    line-height:1.08!important;
    text-transform:none!important;
  }


  /* ----- CONTRACT ACTION BUTTONS ALIGNMENT ----- */
  .contract-actions-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  .contract-actions-row .btn,
  .contract-actions-row button,
  .contract-import-btn,
  .contract-create-btn{
    height:40px!important;
    min-height:40px!important;
    min-width:155px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
    text-align:center!important;
    line-height:1!important;
    font-weight:950!important;
    box-shadow:none!important;
  }
  .contract-create-btn{
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
  }

  /* ----- CONTRACT SUMMARY CLEAN LAYOUT ----- */
  .contract-summary-panel{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:10px;
    margin:0 0 16px;
    font-family:Arial,sans-serif;
  }
  .contract-summary-group{
    min-height:104px;
    background:#fff;
    border:1px solid #dbe3ef;
    border-radius:8px;
    padding:12px 14px;
    box-shadow:0 8px 22px rgba(15,23,42,.045);
  }
  .contract-summary-group.is-alert{
    background:#fffafa;
    border-color:#fecaca;
  }
  .contract-summary-group h3{
    margin:0 0 10px;
    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1.2;
    font-weight:900;
    color:#475569;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .contract-summary-metrics{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
    gap:8px;
    align-items:stretch;
  }
  .contract-metric{
    min-width:0;
    border:1px solid #edf2f7;
    border-radius:7px;
    background:#f8fafc;
    padding:8px 9px;
    text-align:left;
  }
  .contract-metric-click{
    width:100%;
    appearance:none;
    cursor:pointer;
    transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;
  }
  .contract-metric-click:hover{
    transform:translateY(-1px);
    border-color:#93c5fd;
    background:#eff6ff;
    box-shadow:0 10px 22px rgba(15,23,42,.10);
  }
  .contract-metric-click:focus-visible{
    outline:3px solid rgba(37,99,235,.25);
    outline-offset:2px;
  }
  .contract-metric.is-alert{
    background:#fff7f7;
    border-color:#fecaca;
  }
  .contract-metric-click.is-alert:hover{
    background:#fff1f2;
    border-color:#fca5a5;
  }
  .contract-metric span{
    display:block;
    min-height:24px;
    font-family:Arial,sans-serif;
    font-size:10.5px;
    line-height:1.15;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
  }
  .contract-metric strong{
    display:block;
    margin-top:4px;
    font-family:Arial,sans-serif;
    font-size:20px;
    line-height:1;
    font-weight:900;
    font-variant-numeric:tabular-nums;
  }
  @media(max-width:760px){
    .contract-summary-panel{grid-template-columns:1fr}
    .contract-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  .contract-create-btn:hover{
    background:var(--sgdi-btn-yellow-hover)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
  }
  @media(max-width:820px){
    .contract-actions-row{width:100%!important;justify-content:flex-start!important}
    .contract-actions-row .btn,.contract-actions-row button{min-width:0!important;flex:1 1 150px!important}
  }


  /* ----- CONTRACT ACTION BUTTONS STRICT ALIGNMENT ----- */
  .contract-actions-row .contract-import-btn,
  .contract-actions-row .contract-create-btn{
    box-sizing:border-box!important;
    margin:0!important;
    width:168px!important;
    min-width:168px!important;
    max-width:168px!important;
    height:40px!important;
    min-height:40px!important;
    border-width:2px!important;
    border-style:solid!important;
    transform:none!important;
    position:relative!important;
    top:0!important;
  }
  .contract-actions-row .contract-import-btn{
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
  }
  .contract-actions-row .contract-create-btn{
    background:var(--sgdi-btn-yellow)!important;
    color:var(--sgdi-btn-text)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
  }


  /* ----- FORCE OLD INLINE YELLOW BUTTONS TO NEW MODEL ----- */
  .btn[style*="#facc15"],
  .btn[style*="#f2b705"],
  .btn[style*="#d99f00"],
  button[style*="#facc15"].btn,
  button[style*="#f2b705"].btn,
  a[style*="#facc15"].btn,
  a[style*="#f2b705"].btn{
    background:var(--sgdi-btn-yellow)!important;
    background-image:none!important;
    color:var(--sgdi-btn-text)!important;
    border:2px solid var(--sgdi-btn-border,#facc15)!important;
    border-radius:999px!important;
    box-shadow:none!important;
  }
  .btn[style*="#facc15"]:hover,
  .btn[style*="#f2b705"]:hover,
  button[style*="#facc15"].btn:hover,
  button[style*="#f2b705"].btn:hover,
  a[style*="#facc15"].btn:hover,
  a[style*="#f2b705"].btn:hover{
    background:var(--sgdi-btn-yellow-hover)!important;
    border-color:var(--sgdi-btn-border,#facc15)!important;
    color:var(--sgdi-btn-text)!important;
  }


  /* ----- EMPLOYEE POSITION FORM VALUES ----- */
  #agent-form .input,
  #agent-form .select,
  #agent-form textarea,
  #agent-form input,
  #agent-form select{
    font-weight:850!important;
    color:#0f172a!important;
  }
  #agent-form .input::placeholder,
  #agent-form textarea::placeholder{
    font-weight:500!important;
    color:#94a3b8!important;
  }
  #agent-form input:disabled,
  #agent-form select:disabled,
  #agent-form textarea:disabled{
    opacity:1!important;
    -webkit-text-fill-color:#0f172a!important;
  }

  /* ----- RH / EMPLOYEE ERP LAYOUT ----- */
  .rh-erp-page{font-family:Arial,Helvetica,sans-serif;color:#0f172a}
  .rh-erp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
  .rh-erp-title{display:flex;align-items:baseline;gap:8px;min-width:0}
  .rh-erp-title strong{font-size:18px;font-weight:900;color:#0f172a}
  .rh-erp-title span{font-size:13px;font-weight:800;color:#0360a8}
  .rh-erp-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .rh-erp-status-tabs{display:flex;align-items:center;margin:0 0 10px;border:1px solid #d7e3f3;border-radius:6px;background:#fff;overflow:hidden;width:max-content;max-width:100%}
  .rh-erp-status-tab{height:30px;padding:0 18px;border:0;border-right:1px solid #d7e3f3;background:#f8fbff;color:#64748b;font-size:12px;font-weight:900}
  .rh-erp-status-tab:last-child{border-right:0}
  .rh-erp-status-tab.is-active{background:#bbf7d0;color:#166534;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%)}
  .rh-erp-status-tab.is-future.is-active{background:#e0f2fe;color:#075985}
  .rh-erp-status-tab.is-old.is-active{background:#e2e8f0;color:#334155}
  .rh-erp-profile-card{background:#fff;border:1px solid #d7e3f3;border-radius:6px;padding:14px;margin-bottom:12px;display:grid;grid-template-columns:86px minmax(0,1fr) minmax(280px,.85fr);gap:14px;align-items:stretch}
  .rh-erp-photo{position:relative;width:120px;height:150px;border:2px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#94a3b8;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:12px;font-weight:800;cursor:pointer;flex-shrink:0;transition:border-color .15s,box-shadow .15s}
  .rh-erp-photo:hover{border-color:#2563eb;border-style:solid;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
  .rh-erp-photo:hover .photo-cam-overlay{opacity:1}
  .rh-erp-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .rh-erp-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;align-content:start}
  .rh-erp-field{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px;align-items:center;min-height:26px}
  .rh-erp-field b{font-size:11px;color:#5f718a;font-weight:900;text-align:right}
  .rh-erp-field span{font-size:13px;color:#0f172a;font-weight:850;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rh-erp-side{border-left:1px solid #e2eaf5;padding-left:14px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}
  .rh-erp-side-label{font-size:11px;color:#5f718a;font-weight:900;margin-bottom:2px}
  .rh-erp-side-value{font-size:16px;color:#043970;font-weight:950;line-height:1.25}
  .rh-erp-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
  .rh-erp-tabs{display:flex;gap:0;align-items:center;flex-wrap:wrap;margin:0 0 12px;border-bottom:1px solid #d7e3f3;background:#fff}
  .rh-erp-tabs [data-fp-tab]{height:38px;padding:0 18px;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:#fff!important;color:#5f718a!important;font-size:12px!important;font-weight:950!important}
  .rh-erp-tabs [data-fp-tab].is-active{border-bottom-color:#0360a8!important;color:#043970!important}
  .rh-erp-panel{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
  .rh-erp-panel .section-banner{background:#fff!important;color:#0360a8!important;border-bottom:1px solid #d7e3f3;border-radius:0;margin:-20px -20px 14px;padding:10px 12px}
  .rh-op-tabs{height:32px;display:flex;align-items:flex-end;gap:20px;border-bottom:1px solid #d7e3f3;margin:-12px -12px 14px;padding:0 6px;background:#fff}
  .rh-op-tabs button{height:32px;border:0;background:transparent;color:#64748b;font-size:12px;font-weight:900;padding:0 2px;border-bottom:2px solid transparent}
  .rh-op-tabs button.is-active{color:#1f6fb2;border-bottom-color:#1f6fb2}
  .rh-op-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px}
  .rh-op-box{border:1.5px solid #b9d7f5;border-radius:12px;padding:20px 18px 18px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);min-width:0;box-shadow:0 3px 12px rgba(28,83,137,.045);transition:border-color .18s ease,box-shadow .18s ease}
  .rh-op-box:hover{border-color:#84b7ea;box-shadow:0 7px 22px rgba(28,83,137,.075)}
  .rh-op-box legend{padding:0 10px;color:#135f9f;font-size:14px;font-weight:850;letter-spacing:-.01em;background:#fff}
  .rh-op-box legend::before{content:"";display:inline-block;width:7px;height:7px;margin:0 8px 1px 0;border-radius:50%;background:#3b82c4;box-shadow:0 0 0 4px #e8f3fd}
  .rh-op-layout .rh-op-box{border:0!important;background:#fff!important;box-shadow:none!important}
  .rh-op-layout .rh-op-box:hover{border:0!important;box-shadow:none!important}
  .rh-op-layout .rh-op-box legend{color:#26364b;background:#fff}
  .rh-op-layout .rh-op-box legend::before{display:none}
  .rh-op-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 24px}
  .rh-op-box label{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center;margin:0;min-width:0}
  .rh-op-box label span{font-size:11px;color:#41546c;font-weight:750;line-height:1.2}
  .rh-op-box label span small{display:block;margin-top:2px;color:#8493a7;font-size:9px;font-weight:650;line-height:1.1}
  .rh-op-box .input,.rh-op-box .select{height:34px!important;min-height:34px!important;padding:5px 10px!important;border:1px solid #d6e1ec!important;border-radius:8px!important;background:#fff!important;color:#26364b!important;font-size:12px!important;box-shadow:0 1px 2px rgba(15,23,42,.025)!important;transition:border-color .15s ease,box-shadow .15s ease!important}
  .rh-op-box .input:focus,.rh-op-box .select:focus{border-color:#4f91cb!important;box-shadow:0 0 0 3px rgba(79,145,203,.12)!important;outline:0!important}
  .rh-op-box .input:disabled,.rh-op-box .select:disabled,.rh-op-box .input[readonly]{background:#f5f8fb!important;color:#50627a!important;opacity:1!important}
  .rh-op-box .rh-phone-field .input{width:230px!important;max-width:100%!important}
  .rh-op-box textarea.input{height:auto!important;min-height:112px!important;resize:vertical;padding:10px!important}
  .rh-panel-fieldset{border:1.5px solid #b9d7f5;border-radius:12px;padding:20px 18px 18px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);min-width:0;width:100%;box-sizing:border-box;box-shadow:0 3px 12px rgba(28,83,137,.045);transition:border-color .18s ease,box-shadow .18s ease}
  .rh-panel-fieldset:hover{border-color:#84b7ea;box-shadow:0 7px 22px rgba(28,83,137,.075)}
  .rh-panel-fieldset>legend{padding:0 10px;color:#135f9f;font-size:14px;font-weight:850;letter-spacing:-.01em;background:#fff}
  .rh-panel-fieldset>legend::before{content:"";display:inline-block;width:7px;height:7px;margin:0 8px 1px 0;border-radius:50%;background:#3b82c4;box-shadow:0 0 0 4px #e8f3fd}
  .rh-panel-fieldset .input,.rh-panel-fieldset .select{height:34px!important;min-height:34px!important;padding:5px 10px!important;border:1px solid #d6e1ec!important;border-radius:8px!important;background:#fff!important;color:#26364b!important;font-size:12px!important;box-shadow:0 1px 2px rgba(15,23,42,.025)!important;transition:border-color .15s ease,box-shadow .15s ease!important}
  .rh-panel-fieldset .input:focus,.rh-panel-fieldset .select:focus{border-color:#4f91cb!important;box-shadow:0 0 0 3px rgba(79,145,203,.12)!important;outline:0!important}
  .rh-panel-fieldset .input:disabled,.rh-panel-fieldset .select:disabled,.rh-panel-fieldset .input[readonly]{background:#f5f8fb!important;color:#50627a!important;opacity:1!important}
  .rh-panel-fieldset textarea.input{height:auto!important;min-height:100px!important;resize:vertical;padding:10px!important}
  .rh-panel-fieldset .label{font-size:11px!important;font-weight:750!important;color:#41546c!important;margin-bottom:6px!important}
  .rh-panel-fieldset .bg-slate-100{background:#f6f9fc!important;border:1px solid #e2eaf2!important;border-radius:9px!important}
  .rh-panel-fieldset .rounded,.rh-panel-fieldset .rounded-lg{border-radius:9px!important}
  .rh-panel-fieldset table{border-collapse:separate;border-spacing:0;border:1px solid #dce7f1;border-radius:9px;overflow:hidden;background:#fff}
  .rh-panel-fieldset table th{height:36px;padding:8px 10px;background:#f0f6fc;color:#50627a;font-size:10px;font-weight:850;letter-spacing:.04em;border-bottom:1px solid #dce7f1}
  .rh-panel-fieldset table td{padding:9px 10px;border-bottom:1px solid #edf2f7;color:#334155;background:#fff}
  .rh-panel-fieldset table tr:last-child td{border-bottom:0}
  .rh-panel-fieldset table tbody tr:hover td{background:#f9fbfd}
  .rh-panel-fieldset .card{border:1px solid #dfe8f1!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}
  .rh-panel-fieldset .btn{min-height:35px;border-radius:8px!important;font-size:11px!important;font-weight:800!important}
  .rh-panel-fieldset h3,.rh-panel-fieldset h4{color:#2b415b!important;font-weight:800!important}
  .rh-documents-fieldset{padding-top:16px;background:#fff!important}.rh-docs-summary{display:flex;align-items:center;gap:16px;margin:0 0 16px;padding:10px 12px;border:1px solid #e0e9f2;border-radius:9px;background:#fff}.rh-docs-summary>div:first-child{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.rh-docs-summary strong{color:#173a60;font-size:17px}.rh-docs-summary span{color:#74869b;font-size:11px}.rh-docs-progress{height:6px;flex:1;border-radius:99px;background:#e5edf5;overflow:hidden}.rh-docs-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2d78b8,#22a35a)}
  .rh-documents-fieldset{border-color:#fff!important;box-shadow:none!important}.rh-documents-fieldset:hover{box-shadow:none!important}.rh-documents-fieldset .rh-docs-summary{border-color:#fff;box-shadow:none!important}.rh-documents-fieldset .rh-doc-card,.rh-documents-fieldset .rh-doc-card:hover,.rh-documents-fieldset .rh-doc-card.is-missing,.rh-documents-fieldset .rh-doc-card.is-available{border-color:#fff;box-shadow:none!important}.rh-documents-fieldset .rh-doc-add{border-color:#fff}
  #view:has(.rh-erp-page),.rh-erp-page{background:#fff!important}.rh-documents-fieldset .rh-doc-icon,.rh-documents-fieldset .rh-doc-card.is-missing .rh-doc-icon,.rh-documents-fieldset .rh-doc-status,.rh-documents-fieldset .is-missing .rh-doc-status,.rh-documents-fieldset .rh-doc-add{background:#fff!important}
  .rh-contract-fieldset{padding-top:14px}.rh-contract-toolbar{min-height:43px;margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid #e8eef4;display:flex;align-items:center;justify-content:space-between;gap:14px}.rh-contract-toolbar>span{color:#7c8ca0;font-size:11px}.rh-contract-actions{display:flex;align-items:center!important;justify-content:flex-end;gap:8px!important;flex-wrap:wrap!important}.rh-panel-fieldset .rh-contract-actions .btn{width:116px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 12px!important;border:0!important;border-radius:8px!important;background:#eef2f6!important;color:#29435f!important;box-shadow:none!important;font-size:11px!important;font-weight:800!important}.rh-panel-fieldset .rh-contract-actions .btn:hover{background:#dfe7ef!important;color:#143b64!important;transform:translateY(-1px)}.rh-contract-grid{gap:13px 12px!important}
  .rh-docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.rh-doc-card{min-height:86px;display:grid;grid-template-columns:42px minmax(0,1fr) 82px;align-items:center;gap:11px;padding:12px;border:1px solid #dce6ef;border-radius:11px;background:#fff;transition:border-color .16s,box-shadow .16s,transform .16s}.rh-doc-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(28,66,101,.07)}.rh-doc-card.is-available{border-left:3px solid #22a35a}.rh-doc-card.is-missing{border-left:3px solid #cbd5e1;background:#fff}.rh-doc-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#edf5fc;color:#3779b5}.rh-doc-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rh-doc-card.is-missing .rh-doc-icon{color:#94a3b8;background:#f0f2f5}.rh-doc-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.rh-doc-copy strong{width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;color:#26364b;font-size:11px;line-height:1.2}.rh-doc-status{display:inline-flex;align-items:center;min-height:18px;padding:0 7px;border-radius:99px;background:#dcfce7;color:#16844a;font-size:9px;font-weight:850}.is-missing .rh-doc-status{background:#eef1f5;color:#718096}.rh-doc-copy small{color:#91a0b2;font-size:9px;white-space:nowrap}.rh-doc-action{width:78px;height:32px;justify-self:end;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;cursor:pointer;font-size:10px;font-weight:800}.rh-doc-view{width:34px;padding:0;border:1px solid #c9dced;background:#edf6fd;color:#135f9f}.rh-doc-view svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rh-doc-view:hover{background:#dcecf9}.rh-doc-add{padding:0 8px;border:1px solid #d7e0e9;background:#fff;color:#52667d}.rh-doc-add:hover{border-color:#9fc3e5;background:#eef6fd;color:#135f9f}
  .rh-op-emergency{display:grid;gap:11px;align-content:start}
  .rh-op-emergency .rh-op-note{grid-template-columns:1fr}
  .rh-op-emergency .rh-op-note span{margin:7px 0 0;color:#135f9f;font-size:12px;font-weight:800}
  .rh-op-family{grid-column:1/-1}
  .rh-op-family-head{display:grid;grid-template-columns:minmax(320px,1fr) 210px;gap:12px 18px;margin-bottom:15px}
  .rh-op-family-head label{grid-template-columns:110px minmax(0,1fr)}
  .rh-op-family-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:fixed;border:1px solid #dce7f1;border-radius:9px;overflow:hidden;background:#fff}
  .rh-op-family-table th{height:34px;padding:7px 10px;background:#f0f6fc;color:#50627a;font-size:10px;font-weight:850;text-align:left;letter-spacing:.04em;border-bottom:1px solid #dce7f1}
  .rh-op-family-table td{height:39px;border:0;border-bottom:1px solid #edf2f7;padding:4px 8px;color:#334155;background:#fff}
  .rh-op-family-table tr:last-child td{border-bottom:0}
  .rh-op-family-table td+td{border-left:1px solid #edf2f7}
  .rh-op-family-table td .input{height:30px!important;min-height:30px!important;border-radius:7px!important;font-size:11px!important;padding:4px 8px!important}
  .rh-op-family-table tbody tr:hover td{background:#f9fbfd}
  .rh-op-family-table .rh-op-action-col{width:60px;text-align:center}
  .rh-op-family-toolbar td{background:#fbfdff!important;padding:7px 9px!important}
  .rh-op-family-age{text-align:center;font-size:11px;font-weight:750;color:#64748b!important;white-space:nowrap}
  .rh-op-family-action{text-align:center;padding:4px!important}
  .rh-op-add-line{height:27px;border:1px solid #c8dcf0;border-radius:7px;background:#eef6fd;color:#135f9f;font-size:11px;font-weight:800;padding:0 11px;cursor:pointer}
  .rh-op-add-line:hover{background:#dfedfa;border-color:#9fc3e5}
  .rh-op-delete-line{width:27px;height:27px;border:1px solid transparent;border-radius:7px;background:transparent;color:#94a3b8;font-size:18px;line-height:1;cursor:pointer}
  .rh-op-delete-line:hover{border-color:#fecaca;background:#fff1f2;color:#dc2626}
  .rh-op-delete-line:disabled{opacity:.35;cursor:not-allowed}
  .rh-save-bar{position:sticky;z-index:20;bottom:10px;min-height:64px;margin:18px 0 4px;padding:10px 12px 10px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d5e1ed;border-radius:13px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 10px 32px rgba(15,42,70,.13)}
  .rh-save-state{display:flex;align-items:center;gap:9px;color:#7b8a9d;font-size:12px;font-weight:750}.rh-save-state span{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.rh-save-state.is-dirty{color:#9a6500}.rh-save-state.is-dirty span{background:#f59e0b;box-shadow:0 0 0 4px #fef3c7}.rh-save-state.is-saved{color:#14713c}.rh-save-state.is-saved span{background:#22a35a;box-shadow:0 0 0 4px #dcfce7}
  .rh-save-actions{display:flex;align-items:center;gap:9px}.rh-save-cancel,.rh-save-submit{height:39px;border-radius:9px;padding:0 16px;font-size:12px;font-weight:800;cursor:pointer}.rh-save-cancel{border:1px solid #d6e0ea;background:#fff;color:#53657c}.rh-save-submit{border:1px solid #073d77;background:#073d77;color:#fff;box-shadow:0 5px 13px rgba(7,61,119,.16)}.rh-save-submit span{margin-right:5px}.rh-save-cancel:hover{background:#f6f8fb}.rh-save-submit:hover{background:#052f5d}.rh-save-cancel:disabled,.rh-save-submit:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
  .rh-insight-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:12px;margin:0 0 13px}
  .rh-completeness{--tone:#d97706;display:flex;align-items:center;gap:14px;min-height:92px;padding:13px 16px;border:1px solid #dce6f0;border-radius:12px;background:#fff}.rh-completeness.good{--tone:#16844a}.rh-completeness.low{--tone:#dc2626}.rh-completeness-ring{width:59px;height:59px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--tone) var(--complete),#edf1f5 0);position:relative}.rh-completeness-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.rh-completeness-ring strong{position:relative;z-index:1;color:#26364b;font-size:13px}.rh-completeness-copy{flex:1;min-width:0}.rh-completeness-copy>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.rh-completeness-copy strong{color:#26364b;font-size:12px}.rh-completeness-copy span,.rh-completeness-copy small{color:#8290a3;font-size:10px}.rh-completeness-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh-completeness-track{height:5px;margin:8px 0 7px;border-radius:99px;background:#edf1f5;overflow:hidden}.rh-completeness-track i{display:block;height:100%;border-radius:99px;background:var(--tone);transition:width .25s ease}
  .rh-change-history{border:1px solid #dce6f0;border-radius:12px;background:#fff;overflow:hidden}.rh-change-history summary{min-height:64px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.rh-change-history summary::-webkit-details-marker{display:none}.rh-change-history summary>span:first-child{display:flex;flex-direction:column;gap:3px}.rh-change-history summary b{color:#26364b;font-size:12px}.rh-change-history summary small{color:#8290a3;font-size:10px}.rh-history-chevron{color:#6f8298;font-size:18px;transition:.16s}.rh-change-history[open] .rh-history-chevron{transform:rotate(180deg)}.rh-history-list{max-height:210px;overflow:auto;border-top:1px solid #edf1f5}.rh-history-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px 16px;border-bottom:1px solid #f0f3f7}.rh-history-row:last-child{border-bottom:0}.rh-history-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#4f91cb;box-shadow:0 0 0 3px #e8f3fd}.rh-history-row div:nth-child(2){display:flex;flex-direction:column;gap:2px}.rh-history-row strong{font-size:11px;color:#334155}.rh-history-row span,.rh-history-row time{font-size:10px;color:#8290a3}.rh-history-row time{white-space:nowrap}.rh-history-empty{padding:14px 16px;border-top:1px solid #edf1f5;color:#8290a3;font-size:11px}
  .rh-op-box .rh-input-invalid,.rh-panel-fieldset .rh-input-invalid{border-color:#dc2626!important;background:#fffafa!important;box-shadow:0 0 0 3px rgba(220,38,38,.08)!important}.rh-field-error{grid-column:2;display:block;margin-top:-6px;color:#c02626;font-size:10px;font-weight:700;line-height:1.2}
  @media(max-width:900px){
    .rh-erp-profile-card{grid-template-columns:1fr}
    .rh-erp-photo{width:120px;height:150px}
    .rh-erp-fields{grid-template-columns:1fr}
    .rh-erp-side{border-left:0;border-top:1px solid #e2eaf5;padding-left:0;padding-top:12px}
    .rh-erp-field{grid-template-columns:92px minmax(0,1fr)}
    .rh-op-layout,.rh-op-grid,.rh-op-family-head{grid-template-columns:1fr}
    .rh-op-family{grid-column:auto}
    .rh-save-bar{bottom:6px;align-items:flex-start;flex-direction:column}.rh-save-actions{width:100%}.rh-save-actions button{flex:1}
    .rh-insight-grid{grid-template-columns:1fr}.rh-completeness-copy>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}
    .rh-panel-fieldset{padding:15px 12px 13px}.rh-panel-fieldset>legend{font-size:13px}
    .rh-docs-grid{grid-template-columns:1fr}.rh-docs-summary{align-items:flex-start;flex-direction:column}.rh-docs-progress{width:100%;flex:none}
    .rh-contract-toolbar{align-items:flex-start;flex-direction:column}.rh-contract-actions{width:100%}.rh-panel-fieldset .rh-contract-actions .btn{width:auto!important;flex:1}.rh-contract-grid{grid-template-columns:1fr!important}.rh-contract-grid>div{grid-column:span 1!important}
    .rh-op-box .rh-phone-field .input{width:100%!important}
    .rh-op-box label,.rh-op-family-head label{grid-template-columns:1fr}
  }


/* ----- GLOBAL RESPONSIVE SAFETY LAYER ----- */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
#app,.app-shell,.main-shell,.layout-shell{min-width:0;max-width:100vw}
main,#view{min-width:0;max-width:100%;overflow-x:hidden}
#view{padding-inline:clamp(8px,1.2vw,18px)!important}
#view > *{max-width:100%}
.card,.modal,.panel,.module-view,.module-page-header,.module-section,.table-card{min-width:0;max-width:100%}
.flex{min-width:0}
.flex > *{min-width:0}
img,video,canvas,svg{max-width:100%;height:auto}
.input,.select,.textarea,input,select,textarea{max-width:100%;min-width:0}
button,.btn,a.btn{max-width:100%;white-space:normal}
table{width:100%;max-width:100%}
.overflow-x-auto{max-width:100%;-webkit-overflow-scrolling:touch}
.grid,.grid-2,.grid-3,.grid-4,.grid-5,.grid-6,.grid-7{min-width:0}

@media(max-width:1280px){
  .grid-7{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .grid-6,.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:980px){
  #view{padding:10px!important}
  .grid-7,.grid-6,.grid-5,.grid-4,.grid-cols-6,.grid-cols-5,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grid-3,.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .module-page-header,.card-header,.section-header{align-items:flex-start!important;flex-wrap:wrap!important}
  .module-page-header-actions,.page-actions,.header-actions,.contract-actions-row,.recrutement-actions-row{width:100%!important;justify-content:flex-start!important}
  .module-page-header-actions .btn,.page-actions .btn,.header-actions .btn,.contract-actions-row .btn,.recrutement-actions-row .btn{flex:1 1 150px!important;min-width:140px!important}
}
@media(max-width:760px){
  body{font-size:13px}
  #view{padding:8px!important}
  #view h1,.module-title-clean{font-size:24px!important;line-height:1.12!important}
  .grid-7,.grid-6,.grid-5,.grid-4,.grid-3,.grid-2,.grid-cols-6,.grid-cols-5,.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr!important}
  .card{border-radius:8px!important}
  .card.p-5,.card.p-6{padding:14px!important}
  .btn,button.btn,a.btn{min-height:38px!important;padding-inline:12px!important;font-size:12px!important}
  .module-counters-ribbon,.drh-workforce-ribbon{overflow-x:auto!important;grid-auto-columns:minmax(132px,72vw)!important}
  table{font-size:11px!important}
  th,td{padding:8px 7px!important}
  .modal-content,.modal,.dialog{width:min(96vw,720px)!important;max-width:96vw!important}
}
@media(max-width:460px){
  #view h1,.module-title-clean{font-size:21px!important}
  .btn,button.btn,a.btn{width:100%;justify-content:center}
  .module-page-header-actions .btn,.page-actions .btn,.header-actions .btn,.contract-actions-row .btn,.recrutement-actions-row .btn{flex-basis:100%!important}
  .topbar-structure-tabs{max-width:100%;justify-content:flex-start!important}
}


/* ----- CANDIDATE DASHBOARD COMPACT ----- */
.candidate-compact-dashboard{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.candidate-compact-stat{
  min-height:48px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:2px 10px;
  padding:8px 12px;
  border:1px solid #dbe3ef;
  border-radius:8px;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.candidate-compact-stat:hover{border-color:#f2b705;background:#f8fbff}
.candidate-compact-label{font-size:11px;font-weight:950;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.candidate-compact-stat b{font-size:22px;font-weight:950;line-height:1;grid-row:1/3;grid-column:2}
.candidate-compact-stat small{font-size:11px;color:#8a9ab3}
.candidate-position-panel{
  border:1px solid #dbe3ef;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.candidate-position-head{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 12px;
  border-bottom:1px solid #edf2f7;
  color:#475569;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.candidate-position-head b{
  min-width:26px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#eef4fb;
  color:#475569;
  font-size:12px;
}
.candidate-position-list{padding:6px 10px}
.candidate-position-row{
  width:100%;
  min-height:44px;
  display:grid;
  grid-template-columns:minmax(180px,280px) 1fr auto;
  align-items:center;
  gap:10px;
  padding:6px 0;
  background:transparent;
  border:0;
  text-align:left;
  cursor:pointer;
}
.candidate-position-row + .candidate-position-row{border-top:1px solid #f1f5f9}
.candidate-position-name b{display:block;font-size:13px;color:#0f172a}
.candidate-position-name small{display:block;font-size:11px;color:#8a9ab3;margin-top:1px}
.candidate-position-bar{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden}
.candidate-position-bar span{display:block;height:100%;border-radius:inherit}
.candidate-position-row strong{font-size:13px;color:#0f172a}
.candidate-position-empty{padding:18px;text-align:center;color:#64748b;font-size:13px}
@media(max-width:760px){
  .candidate-compact-dashboard{grid-template-columns:1fr}
  .candidate-position-row{grid-template-columns:1fr auto;gap:6px 10px}
  .candidate-position-bar{grid-column:1/3}
}


/* ----- SIDEBAR NORMAL WEIGHT LABELS ----- */
.sidebar .nav-link,.sidebar .sub-link,.sidebar .nav-group,
.sidebar .nav-label{font-weight:500!important}
.sidebar .nav-link.active,.sidebar .sub-link.active,
.sidebar .nav-link.active .nav-label,.sidebar .sub-link.active .nav-label{font-weight:600!important}


/* ----- TOP COUNTERS WITHOUT OUTLINE ----- */
/* ----- TOP COUNTERS : STYLE CARTE DASHBOARD ----- */
.module-counters-ribbon,
.drh-workforce-ribbon{
  height:auto!important;
  min-height:88px!important;
  padding:10px 14px!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:#f1f5f9!important;
  border-bottom:1px solid #e2e8f0!important;
}
.module-counters-ribbon .module-counter-item,
.drh-workforce-ribbon .drh-workforce-item{
  min-height:68px!important;
  height:68px!important;
  padding:10px 14px!important;
  border:1px solid #e8edf3!important;
  border-left:1px solid #e8edf3!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 1px 4px rgba(15,23,42,.07)!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
}
.module-counters-ribbon .module-counter-item:hover,
.drh-workforce-ribbon .drh-workforce-item:hover{
  background:#fff!important;
  box-shadow:0 4px 14px rgba(15,23,42,.12)!important;
  transform:translateY(-1px);
  transition:box-shadow .15s,transform .15s;
}
.mc-icon-circle{
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:20px!important;
  flex-shrink:0!important;
  line-height:1!important;
}
.mc-text-content{
  flex:1!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:1px!important;
}
.mc-value-row{
  display:flex!important;
  align-items:baseline!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
}
.module-counter-label,
.drh-workforce-label{
  font-size:10px!important;
  font-weight:700!important;
  color:#64748b!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
  line-height:1.2!important;
}
.module-counter-value,
.drh-workforce-value{
  grid-row:auto!important;
  grid-column:auto!important;
  font-size:20px!important;
  font-weight:850!important;
  color:#0f172a!important;
  line-height:1.1!important;
  margin-top:0!important;
}
.module-counter-item.is-zero .module-counter-value,
.drh-workforce-item.is-zero .drh-workforce-value{
  color:#94a3b8!important;
}
.module-counter-pct,
.drh-workforce-pct{
  font-size:10px!important;
  font-weight:700!important;
  color:var(--drh-color)!important;
  white-space:nowrap!important;
  line-height:1.1!important;
}


/* ----- SIDEBAR COMPACT SPACING ----- */
#sidebar-nav>.nav-link+ .nav-link,
#sidebar-nav>.nav-link+ .nav-group,
#sidebar-nav>.nav-group+ .nav-link,
#sidebar-nav>.nav-group+ .nav-group,
#sidebar-nav>.sub-link+ .sub-link{margin-top:6px!important}
.sidebar .nav-link,.sidebar .sub-link,.sidebar .nav-group{height:36px!important;min-height:36px!important;max-height:36px!important;padding-top:8px!important;padding-bottom:8px!important}


/* ----- DASHBOARD COMPACT BANDS ----- */
.dashboard-compact-band{
  padding:14px 16px!important;
  min-height:0!important;
}
.dashboard-compact-band h3{
  margin:0 0 10px!important;
  font-size:12px!important;
  font-weight:850!important;
  color:#475569!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.dashboard-compact-progress{
  margin-bottom:8px!important;
}
.dashboard-compact-progress .flex{
  margin-bottom:4px!important;
  font-size:13px!important;
}
.dashboard-compact-bar{
  height:7px;
  border-radius:999px;
  background:#eef2f7;
  overflow:hidden;
}
.dashboard-compact-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
}
.dashboard-compact-chart{
  height:110px!important;
}
.dashboard-compact-legend{
  display:flex;
  gap:14px;
  align-items:center;
  font-size:12px;
  margin-top:2px;
}
@media(max-width:760px){
  .dashboard-compact-band{padding:12px!important}
  .dashboard-compact-chart{height:96px!important}
}


/* ----- DASHBOARD BANDS EXTRA COMPACT OVERRIDE ----- */
.dashboard-compact-band-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start!important;
}
.dashboard-compact-band{
  height:168px!important;
  max-height:168px!important;
  padding:10px 14px!important;
  overflow:hidden!important;
}
.dashboard-compact-band h3{
  margin-bottom:7px!important;
  font-size:11px!important;
}
.dashboard-compact-progress{
  margin-bottom:5px!important;
}
.dashboard-compact-progress .flex{
  margin-bottom:2px!important;
  font-size:12px!important;
  line-height:1.15!important;
}
.dashboard-compact-bar{height:5px!important}
.dashboard-compact-chart{height:82px!important;margin-top:0!important}
.dashboard-compact-legend{font-size:11px!important;margin-top:0!important}
@media(max-width:980px){
  .dashboard-compact-band-grid{grid-template-columns:1fr!important}
  .dashboard-compact-band{height:auto!important;max-height:none!important}
}


/* ----- DRH ERP DASHBOARD ----- */
.drh-erp-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.drh-erp-head h1{
  margin:0;
  font-size:30px!important;
  line-height:1.05;
  font-weight:900;
  color:#0f172a;
  text-transform:capitalize;
}
.drh-erp-head p{
  margin:5px 0 0;
  color:#64748b;
  font-size:13px;
}
.drh-erp-head-pills{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.drh-erp-head-pills span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:0 11px;
  background:#ebedee;
  color:#334155;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.drh-erp-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.drh-erp-kpi{
  min-height:72px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #dbe3ef;
  border-radius:8px;
  color:#0f172a;
  box-shadow:none;
}
.drh-erp-kpi:hover{border-color:var(--kpi-color);background:#f8fbff}
.drh-erp-kpi-icon{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:color-mix(in srgb,var(--kpi-color) 13%,#fff);
  color:var(--kpi-color);
  font-weight:950;
}
.drh-erp-kpi-copy{min-width:0;display:block}
.drh-erp-kpi-label{
  display:block;
  color:#64748b;
  font-size:10.5px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.drh-erp-kpi strong{
  display:block;
  margin-top:2px;
  color:var(--kpi-color);
  font-size:24px;
  line-height:1;
  font-weight:950;
}
.drh-erp-kpi small{
  display:block;
  margin-top:3px;
  color:#8a9ab3;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.drh-dashboard-stat-section{
  background:#f8fbff;
  border-color:#dbeafe;
}
.drh-dashboard-stat-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.drh-dashboard-stat-head h2{
  margin:0;
  color:#0f172a;
  font-size:22px;
  font-weight:950;
}
.drh-dashboard-stat-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:700;
}
.drh-dashboard-stat-link{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid #bfdbfe;
  border-radius:999px;
  background:#eff6ff;
  color:#043970;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.drh-dashboard-stat-link:hover{
  border-color:#043970;
  background:#dbeafe;
}
.drh-dashboard-stat-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
@media(max-width:1180px){.drh-erp-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.drh-dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.drh-erp-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){.drh-dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .drh-erp-head{display:block}.drh-erp-head-pills{justify-content:flex-start;margin-top:8px}
  .drh-erp-head h1{font-size:24px!important}
  .drh-dashboard-stat-head{display:block}
  .drh-dashboard-stat-link{margin-top:12px}
  .drh-erp-kpi-grid{grid-template-columns:1fr}
  .drh-dashboard-stat-grid{grid-template-columns:1fr}
}


/* ----- SIDEBAR TEMPLATE STYLE ----- */
.sidebar{
  background:#fff!important;
  border-right:1px solid #e2e8f0!important;
}
.sidebar-brand{
  min-height:144px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #e2e8f0!important;
  text-align:center!important;
}
.sidebar-profile-mark{
  width:74px;
  height:74px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#4f46e5,#0ea5e9);
  box-shadow:0 0 0 5px rgba(255,255,255,.12),0 12px 26px rgba(0,0,0,.28);
}
.sidebar-profile-mark span{
  width:46px;
  height:46px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8fafc;
  color:#043970;
  font-size:22px;
  font-weight:950;
}
.sidebar-atlas-brand{
  font-size:25px!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
}
.sidebar-menu-caption{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#e5e7eb;
  font-size:12px;
  font-weight:600;
}
.sidebar-menu-lines{font-size:19px;line-height:1;color:#fff}
.sidebar nav{
  background:#fff!important;
  padding:8px 0!important;
}
.sidebar .nav-link,.sidebar .sub-link,.sidebar .nav-group{
  height:45px!important;
  min-height:45px!important;
  max-height:45px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
  align-items:center!important;
  padding:0 18px!important;
  border-radius:0!important;
  color:#0f2d5a!important;
  background:transparent!important;
  font-size:12px!important;
  font-weight:500!important;
  text-transform:none!important;
}
.sidebar .nav-link + .nav-link,
.sidebar .nav-link + .nav-group,
.sidebar .nav-group + .nav-link,
.sidebar .nav-group + .nav-group,
.sidebar .sub-link + .sub-link{margin-top:0!important}
.sidebar .nav-ico{
  width:22px;
  height:22px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  color:#0f2d5a;
  line-height:1;
  opacity:.95;
}
.sidebar .nav-ico svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sidebar .nav-label{
  color:inherit!important;
  font-weight:500!important;
  text-transform:none!important;
}
.sidebar .nav-link:hover,.sidebar .sub-link:hover,.sidebar .nav-group:hover{
  background:rgba(37,99,235,.07)!important;
  color:#1d4ed8!important;
}
.sidebar .nav-link.active,.sidebar .sub-link.active{
  background:rgba(37,99,235,.1)!important;
  color:#1d4ed8!important;
  box-shadow:inset 4px 0 0 #2563eb!important;
}
.sidebar .nav-link.active .nav-label,.sidebar .sub-link.active .nav-label{font-weight:650!important;color:#1d4ed8!important}
.sidebar #sidebar-nav>.nav-link.nav-gap-before{
  margin-top:52px!important;
}
.sidebar #sidebar-nav>.nav-link.nav-gap-before::before{
  top:-27px!important;
}
.sidebar .nav-count{
  background:#2563eb!important;
  color:#fff!important;
}
.sidebar-back,.sidebar-user{
  background:#f8fafc!important;
  border-top:1px solid #e2e8f0!important;
}
.sidebar-user-identity{
  border-top:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  flex:0 0 auto!important;
}
.sidebar-user-profile-large{
  min-height:132px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  text-align:center!important;
  background:#f1f5f9!important;
}
.sidebar-user-profile-large .sidebar-profile-mark{
  width:74px!important;
  height:74px!important;
}
.sidebar-user-profile-large .sidebar-profile-mark span{
  width:46px!important;
  height:46px!important;
  font-size:22px!important;
}
.sidebar-current-user-name{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:.95!important;
}
.sidebar-user-profile-large .sidebar-user-role{
  font-size:12px!important;
  line-height:1!important;
  margin-top:-3px!important;
}
.sidebar-user-logout{
  flex:0 0 auto!important;
}
@media(max-width:1180px){
  .sidebar-profile-mark{width:62px;height:62px}.sidebar-profile-mark span{width:40px;height:40px;font-size:19px}
  .sidebar-brand{min-height:126px!important}
}


/* ----- HOMOGENEOUS BLUE TOPBAR ----- */
.sgdi-topbar{
  background:#eef3f8!important;
  border-bottom:2px solid #011b3f!important;
  box-shadow:0 2px 10px rgba(1,27,63,.08)!important;
}
.sgdi-topbar .text-slate-500{color:#5b6b82!important}
.sgdi-topbar-module-title,
.sgdi-topbar-module-title-active{color:#011b3f!important}
.topbar-structure-tabs{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  gap:6px!important;
  padding:0!important;
}
.sgdi-topbar .topbar-back-btn,
.sgdi-topbar .topbar-societe-btn,
.sgdi-topbar .topbar-dialogue-btn,
.sgdi-topbar .topbar-structure-btn{
  height:36px!important;
  min-height:36px!important;
  min-width:86px!important;
  border:2px solid #0b3d75!important;
  background:#eef3f8!important;
  color:#011b3f!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:850!important;
  padding:0 13px!important;
}
.sgdi-topbar .topbar-back-btn{min-width:150px!important}
.sgdi-topbar .topbar-societe-btn,
.sgdi-topbar .topbar-dialogue-btn{min-width:94px!important}
.sgdi-topbar .topbar-back-btn:hover,
.sgdi-topbar .topbar-societe-btn:hover,
.sgdi-topbar .topbar-dialogue-btn:hover,
.sgdi-topbar .topbar-structure-btn:hover{
  background:#dce8f5!important;
  color:#011b3f!important;
  border-color:#011b3f!important;
}
.sgdi-topbar .topbar-structure-btn.active{
  background:#011b3f!important;
  color:#fff!important;
  border-color:#011b3f!important;
  box-shadow:none!important;
}
.sgdi-topbar .topbar-notification-btn,
.sgdi-topbar .topbar-notification-btn.has-alert,
.sgdi-topbar .topbar-notification-btn:hover{
  background:#dc2626!important;
  color:#fff!important;
  border:2px solid #dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.18)!important;
}
@media(max-width:980px){
  .sgdi-topbar .topbar-back-btn,
  .sgdi-topbar .topbar-societe-btn,
  .sgdi-topbar .topbar-dialogue-btn,
  .sgdi-topbar .topbar-structure-btn{height:32px!important;min-height:32px!important;min-width:72px!important;padding:0 9px!important;font-size:10px!important}
}


/* ----- INTERIOR ERP BLUE UNIFICATION ----- */
#view{
  background:#f4f7fb!important;
  color:#0f172a!important;
}
#view .card,
#view .module-card-clean,
#view .module-page-header,
#view .candidate-position-panel,
#view .candidate-compact-stat,
#view .fp-summary-card,
#view .dash-module,
#view .mat-panel,
#view .dialogue-panel{
  background:#fff!important;
  border:1px solid #dbe3ef!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
#view .card:hover,
#view .candidate-compact-stat:hover,
#view .drh-erp-kpi:hover{
  box-shadow:none!important;
  border-color:#b7c9df!important;
}

/* Position sheets: keep the softer dashboard treatment above ERP defaults. */
#view .fp-page .fp-summary-card{
  border-radius:13px!important;
}
#view .rh-erp-panel[data-fp-tab-panel="identite"]{
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
  outline:0!important;
  filter:none!important;
}
#view .rh-erp-panel[data-fp-tab-panel="identite"] .rh-op-box{
  border:0!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:12px!important;
  background:#fff!important;
  outline:0!important;
  box-shadow:0 7px 22px rgba(61,91,124,.20)!important;
  filter:none!important;
}
#view .rh-erp-panel[data-fp-tab-panel="identite"] .rh-op-box:hover{
  box-shadow:0 9px 26px rgba(61,91,124,.24)!important;
}
#view .rh-erp-panel .rh-panel-fieldset{
  border-color:transparent!important;
  box-shadow:0 7px 22px rgba(61,91,124,.20)!important;
}
#view .rh-erp-panel .rh-panel-fieldset:hover{
  box-shadow:0 9px 26px rgba(61,91,124,.24)!important;
}

/* Réception demandes : même logique de cartes que la fiche personnelle. */
#view:has(.dp-page),.dp-page{background:#fff!important}
.dp-page{display:flex;flex-direction:column;gap:18px;padding:2px}
.dp-page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:6px 2px}
.dp-page-header h1{margin:0;color:#172033!important;font-size:28px!important;letter-spacing:-.025em!important}
.dp-page-header p{margin:6px 0 0}
.dp-page .portal-open-btn{margin:0!important;width:auto!important;min-width:130px!important;height:38px!important;border:0!important;border-radius:8px!important;background:#eef2f6!important;color:#29435f!important;box-shadow:none!important}
.dp-section-card{min-width:0;padding:18px;border:0;border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(61,91,124,.20)}
.dp-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;color:#26364b;font-size:13px;font-weight:850}
.dp-section-title span{min-width:23px;height:23px;padding:0 7px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;background:#eef2f6;color:#53677e;font-size:10px}
.dp-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dp-kpi{min-height:80px;padding:13px 15px;border:0;border-radius:10px;background:#f8fafc;color:#26364b;text-align:left;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.dp-kpi:hover{transform:translateY(-1px);background:#f1f5f9;text-decoration:none}.dp-kpi span{display:block;color:#718096;font-size:11px;font-weight:750}.dp-kpi strong{display:block;margin-top:5px;color:#26364b;font-size:25px;line-height:1}.dp-kpi.is-new strong{color:#1672ad}.dp-kpi.is-alert strong{color:#c42b2b}.dp-kpi.is-done strong{color:#16844a}
.dp-filter-section .input,.dp-filter-section .select{height:38px!important;border:1px solid #d9e2eb!important;border-radius:8px!important;background:#fff!important}.dp-filter-section .btn{height:38px!important;border:0!important;border-radius:8px!important;background:#eef2f6!important;color:#40566e!important}
.dp-workspace{display:grid;grid-template-columns:minmax(320px,2fr) minmax(480px,3fr);gap:18px;align-items:start}
.dp-employee-list,.dp-request-list{display:flex;flex-direction:column;gap:11px}
.dp-employee-card{width:100%;padding:14px;border:1px solid #e3e9ef;border-radius:10px;background:#fff;color:#26364b;text-align:left;cursor:pointer;box-shadow:none;transition:border-color .15s,background .15s,transform .15s}.dp-employee-card:hover{transform:translateY(-1px);border-color:#aebfd1}.dp-employee-card.is-active{border-color:#6f8daa;background:#f5f8fb;box-shadow:inset 3px 0 0 #526f8d}
.dp-employee-card .bg-sky-50,.dp-employee-card .bg-amber-50,.dp-employee-card .bg-emerald-50{background:#f6f8fb!important}
.dp-selected-header{margin:-2px 0 15px;padding:0 0 13px;border-bottom:1px solid #e8edf2}.dp-selected-header h2{margin:0;color:#26364b!important}.dp-selected-header p{margin:5px 0 0}.dp-selected-header .btn{border:0!important;border-radius:8px!important;background:#eef2f6!important;color:#40566e!important;box-shadow:none!important}
#view .dp-request-list>.card{margin:0!important;border:0!important;border-left:4px solid #8ba2b9!important;border-radius:10px!important;background:#fff!important;box-shadow:0 4px 15px rgba(61,91,124,.12)!important}
.dp-empty{padding:38px 16px;color:#8391a3;font-size:12px;text-align:center}
@media(max-width:1050px){.dp-workspace{grid-template-columns:1fr}.dp-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dp-page{gap:13px}.dp-section-card{padding:13px}.dp-kpi-grid{grid-template-columns:1fr 1fr}.dp-page-header{align-items:flex-start;flex-direction:column}.dp-page-header h1{font-size:24px!important}}

/* Boîte de réception demandes : deux panneaux, aucune carte imbriquée. */
#view:has(.dp-inbox-page),.dp-inbox-page{background:#fff!important}
.dp-inbox-page{display:flex;flex-direction:column;gap:14px;padding:4px 2px}
.dp-inbox-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dp-inbox-header h1{margin:0;color:#172033!important;font-size:28px!important}.dp-inbox-header p{margin:5px 0 0}
.dp-inbox-stats{height:58px;display:flex;align-items:stretch;border:1px solid #e0e6ed;border-radius:10px;background:#fff;overflow:hidden}.dp-inbox-stats button,.dp-inbox-stats a{min-width:130px;padding:0 20px;border:0;border-right:1px solid #e8edf2;background:#fff;color:#26364b;display:flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer}.dp-inbox-stats button:last-child{border-right:0}.dp-inbox-stats strong{font-size:20px}.dp-inbox-stats span{color:#75869a;font-size:11px}.dp-inbox-stats button:hover,.dp-inbox-stats a:hover{background:#f7f9fb;text-decoration:none}
.dp-inbox-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px 190px auto;gap:9px;align-items:center}.dp-inbox-toolbar .input,.dp-inbox-toolbar .select{height:38px!important;border:1px solid #d9e2eb!important;border-radius:8px!important;box-shadow:none!important}.dp-inbox-toolbar .btn{height:38px!important}
.dp-inbox-layout{min-height:560px;display:grid;grid-template-columns:minmax(330px,38%) minmax(480px,62%);gap:14px}.dp-inbox-list,.dp-inbox-detail{min-width:0;border:1px solid #e0e6ed;border-radius:12px;background:#fff;overflow:hidden}.dp-inbox-list>header{height:52px;padding:0 15px;border-bottom:1px solid #e8edf2;display:flex;align-items:center;justify-content:space-between;color:#26364b;font-size:12px}.dp-inbox-list>header span{min-width:24px;height:24px;border-radius:99px;background:#eef2f6;display:grid;place-items:center;color:#53677e;font-size:10px}.dp-inbox-list>div{max-height:650px;overflow:auto}
.dp-inbox-row{width:100%;min-height:89px;padding:12px 12px 12px 15px;border:0;border-bottom:1px solid #edf1f5;background:#fff;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:10px;color:#26364b;text-align:left;cursor:pointer}.dp-inbox-row:hover{background:#f8fafc}.dp-inbox-row.is-active{background:#f2f6fa;box-shadow:inset 3px 0 0 #526f8d}.dp-inbox-row-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#3b82c4}.dp-inbox-row-dot.en_cours{background:#d99a18}.dp-inbox-row-dot.traite{background:#20a15a}.dp-inbox-row-dot.rejete{background:#d43b3b}.dp-inbox-row-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.dp-inbox-row-copy strong{font-size:11px;color:#26364b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-inbox-row-copy b{font-size:11px;font-weight:650;color:#53657b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-inbox-row-copy small{font-size:9px;color:#8a98aa}.dp-inbox-row-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.dp-inbox-row-meta small{font-size:9px;color:#718096;white-space:nowrap}.dp-inbox-row-meta small.is-late,.dp-inbox-row-meta i{color:#c42b2b;font-style:normal;font-size:9px;font-weight:750}
.dp-inbox-detail{padding:0}.dp-inbox-detail>.card{position:static!important;margin:0!important;padding:20px!important;border:0!important;border-radius:0!important;box-shadow:none!important}.dp-inbox-detail .bg-slate-50{background:#f7f9fb!important}.dp-inbox-detail .bg-blue-50{background:#f3f7fb!important}.dp-inbox-empty{padding:50px 20px;color:#8492a5;font-size:12px;text-align:center}
@media(max-width:980px){.dp-inbox-layout{grid-template-columns:1fr}.dp-inbox-toolbar{grid-template-columns:1fr 1fr}.dp-inbox-list>div{max-height:420px}}
@media(max-width:640px){.dp-inbox-stats{height:auto;display:grid;grid-template-columns:1fr 1fr}.dp-inbox-stats button,.dp-inbox-stats a{min-width:0;height:48px;border-bottom:1px solid #e8edf2}.dp-inbox-toolbar{grid-template-columns:1fr}.dp-inbox-header{align-items:flex-start;flex-direction:column}.dp-inbox-header h1{font-size:24px!important}}

/* Réception demandes validée : trois cartes, regroupement par employé. */
#view:has(.dp-clean-page){width:100%!important;max-width:none!important;padding:0!important;background:#fff!important;overflow-x:hidden!important}.dp-clean-page{width:100%!important;max-width:none!important;min-height:calc(100vh - 130px);margin:0!important;display:flex;flex-direction:column;gap:14px;padding:12px;box-sizing:border-box;background:#fff!important}.dp-clean-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:2px}.dp-clean-header h1{margin:0;color:#172033!important;font-size:28px!important}.dp-clean-header p{margin:6px 0 0}.dp-clean-header .portal-open-btn{margin:0!important;width:auto!important;min-width:135px!important;height:38px!important;border:0!important;border-radius:999px!important;background:#043970!important;color:#fff!important;box-shadow:0 4px 14px rgba(4,57,112,.28)!important}
.dp-clean-card{min-width:0;border:0;border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(61,91,124,.20)}
.dp-clean-controls{padding:13px 15px;display:flex;align-items:center;gap:15px}.dp-clean-stats{flex:0 0 auto;display:flex;align-items:center;min-height:42px;margin:0;padding:0 15px 0 0;border:0;border-right:1px solid #e5ebf1}.dp-clean-stats button,.dp-clean-stats a{min-width:88px;padding:0 12px;border:0;border-right:1px solid #e7ecf1;background:#fff;color:#26364b;display:flex;align-items:baseline;gap:6px;text-decoration:none;cursor:pointer}.dp-clean-stats button:first-child,.dp-clean-stats a:first-child{padding-left:0}.dp-clean-stats button:last-child{border-right:0}.dp-clean-stats strong{font-size:20px}.dp-clean-stats span{color:#75869a;font-size:10px}.dp-clean-filters{min-width:0;flex:1;display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(125px,.8fr) minmax(135px,.9fr) auto;gap:9px}.dp-clean-filters .input,.dp-clean-filters .select{height:38px!important;border:1px solid #d9e2eb!important;border-radius:8px!important;box-shadow:none!important}.dp-clean-filters .btn{height:38px!important;margin:0!important;border:0!important;border-radius:8px!important;background:#eef2f6!important;color:#40566e!important;box-shadow:none!important}
.dp-clean-workspace{flex:1;min-height:calc(100vh - 310px);display:grid;grid-template-columns:minmax(430px,48%) minmax(470px,52%);gap:18px;align-items:stretch}.dp-clean-employees,.dp-clean-requests{height:100%;min-height:calc(100vh - 310px);overflow:hidden}.dp-clean-employees>header{height:54px;padding:0 16px;border-bottom:1px solid #e8edf2;display:flex;align-items:center;justify-content:space-between;color:#26364b;font-size:12px}.dp-clean-employees>header span{min-width:24px;height:24px;border-radius:99px;background:#eef2f6;display:grid;place-items:center;color:#53677e;font-size:10px}.dp-clean-employee-list{max-height:calc(100vh - 365px);overflow:auto}
.dp-clean-employee{width:100%;min-height:72px;padding:11px 13px;border:0;border-bottom:1px solid #edf1f5;background:#fff;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;color:#26364b;text-align:left;cursor:pointer}.dp-clean-employee:hover{background:#f8fafc}.dp-clean-employee.is-active{background:#f2f6fa;box-shadow:inset 3px 0 0 #526f8d}.dp-clean-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8eef5;color:#3d5873;font-size:12px;font-weight:850}.dp-clean-employee-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.dp-clean-employee-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-clean-employee-copy small{color:#8190a2;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-clean-employee-meta{display:flex;align-items:flex-end;flex-direction:column;gap:2px}.dp-clean-employee-meta b{font-size:13px}.dp-clean-employee-meta small{color:#8a98a9;font-size:9px}.dp-clean-employee-meta i{color:#c42b2b;font-size:9px;font-style:normal;font-weight:800}
.dp-clean-request-header{min-height:67px;padding:13px 17px;border-bottom:1px solid #e8edf2;display:flex;align-items:center;justify-content:space-between;gap:12px}.dp-clean-request-header>div{display:flex;flex-direction:column;gap:3px}.dp-clean-request-header strong{color:#26364b;font-size:14px}.dp-clean-request-header span{color:#8190a2;font-size:10px}.dp-clean-request-header .btn{height:34px!important;margin:0!important;border:0!important;border-radius:8px!important;background:#eef2f6!important;color:#40566e!important;box-shadow:none!important}
.dp-clean-timeline{padding:12px 15px;display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid #edf1f5;background:#fbfcfd}.dp-clean-timeline-item{min-width:145px;max-width:190px;padding:9px 10px;border:1px solid #dfe6ed;border-radius:9px;background:#fff;color:#52657a;display:flex;align-items:flex-start;flex-direction:column;gap:3px;text-align:left;cursor:pointer}.dp-clean-timeline-item:hover{border-color:#9fb1c3}.dp-clean-timeline-item.is-active{border-color:#526f8d;background:#f2f6fa}.dp-clean-timeline-item span,.dp-clean-timeline-item small{font-size:9px;color:#8492a4}.dp-clean-timeline-item strong{width:100%;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-clean-detail>.card{position:static!important;margin:0!important;padding:18px!important;border:0!important;border-radius:0!important;box-shadow:none!important}.dp-clean-detail .bg-slate-50{background:#f7f9fb!important}.dp-clean-detail .bg-blue-50{background:#f3f7fb!important}.dp-clean-empty{padding:48px 18px;color:#8492a5;font-size:12px;text-align:center}
@media(max-width:1050px){.dp-clean-workspace{grid-template-columns:1fr}.dp-clean-employee-list{max-height:380px}}
@media(max-width:760px){.dp-clean-controls{align-items:stretch;flex-direction:column}.dp-clean-stats{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 0 10px;border-right:0;border-bottom:1px solid #e5ebf1}.dp-clean-stats button,.dp-clean-stats a{padding:7px 0;border-right:0}.dp-clean-filters{width:100%;grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dp-clean-page{width:100%!important;margin:0!important;padding:8px;gap:13px}.dp-clean-header{align-items:flex-start;flex-direction:column}.dp-clean-header h1{font-size:24px!important}.dp-clean-filters{grid-template-columns:1fr}}

#view h1,
#view .module-title-clean,
#view .module-page-header h1{
  color:#0f172a!important;
  font-size:30px!important;
  font-weight:850!important;
  line-height:1.1!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
#view h1.recruitment-page-title,
#view .module-page-header h1.recruitment-page-title,
#view h1.effectif-page-title,
#view .module-page-header h1.effectif-page-title,
#view h1.sentence-case-title,
#view .module-page-header h1.sentence-case-title{
  text-transform:none!important;
}
#view h2,#view h3,
#view .card h3,
#view .section-title,
#view .font-black{
  color:#24364d!important;
  letter-spacing:.02em!important;
}
#view .text-slate-500,
#view .text-slate-400,
#view small,
#view .label{
  color:#667892!important;
}
#view table{
  background:#fff!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
#view table thead th,
#view table th{
  background:#ebedee!important;
  color:#334155!important;
  border-bottom:1px solid #dbe3ef!important;
  font-size:11px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
#view table td{
  border-bottom:1px solid #edf2f7!important;
  color:#1e293b!important;
}
#view table tbody tr:hover td{
  background:#f8fbff!important;
}
.effectif-page{
  width:100%;
  max-width:none;
}
.drh-effectif-list-header{
  width:100%;
  min-height:58px;
  margin:0 0 12px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(320px,440px) minmax(260px,1fr);
  align-items:center;
  gap:14px;
}
.drh-effectif-title-block{
  justify-self:start;
  min-width:0;
}
.drh-effectif-title-block h1{
  margin:0!important;
  text-align:left!important;
}
.drh-effectif-title-block p{
  margin-top:4px!important;
  text-align:left!important;
}
.drh-effectif-search-slot{
  justify-self:center;
  width:100%;
  max-width:440px;
}
.drh-effectif-sort-slot{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.drh-effectif-sort-slot .select{
  width:260px!important;
  max-width:100%!important;
}
.effectif-header-search{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.effectif-header-search .input{
  width:100%!important;
  max-width:440px!important;
  border:1px solid #cbd8ea!important;
  box-shadow:none!important;
}
.drh-effectif-actions-bar{
  margin:0 0 10px;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  display:flex;
  flex-wrap:nowrap!important;
  gap:5px;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  box-shadow:none!important;
  outline:0!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.drh-effectif-action-separator{
  display:none;
}
.drh-effectif-action-btn{
  height:26px!important;
  min-height:26px!important;
  min-width:auto!important;
  flex:0 0 auto!important;
  padding:0 10px!important;
  border:1px solid #dbe3ef!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:999px;
  background:#fff!important;
  color:#24364c!important;
  cursor:pointer;
  white-space:nowrap;
  font-size:10px!important;
  font-weight:750;
  letter-spacing:0;
  line-height:1;
  transition:background .12s,border-color .12s,color .12s;
}
.drh-effectif-action-btn:hover{
  background:#f5f8fc!important;
  border-color:#b8c7d6!important;
  color:var(--action-color,#043970)!important;
}
.drh-effectif-action-title{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0 8px!important;
  height:28px!important;
  min-height:28px!important;
  color:#011b3f!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  border-radius:0!important;
}
.drh-effectif-action-title:hover{
  color:var(--action-color,#043970)!important;
  text-decoration:underline!important;
  text-underline-offset:5px!important;
}
@media(max-width:980px){
  .drh-effectif-list-header{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .drh-effectif-title-block,
  .drh-effectif-search-slot,
  .drh-effectif-sort-slot{
    justify-self:stretch;
  }
  .drh-effectif-sort-slot{
    justify-content:flex-start;
  }
  .drh-effectif-action-btn{
    min-width:auto!important;
  }
}
.effectif-table-card{
  width:100%;
}
.site-editor-wide{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
#view.site-create-view,
#view.module-view.site-create-view,
.sgdi-view.site-create-view{
  padding-left:0!important;
  padding-right:4px!important;
}
.site-rotation-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
}
.site-form-title{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}
.site-form-title h1{
  font-size:25px;
  font-weight:900;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
  letter-spacing:0;
}
.site-form-layout{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.site-form-layout>.card{
  margin-bottom:0!important;
  border-radius:8px;
}
.site-table-scroll{
  width:100%;
  overflow-x:auto;
  border:1px solid #e2e8f0;
  border-radius:8px;
}
.site-table-scroll table{
  min-width:920px;
  margin-bottom:0!important;
}
.site-form-actions{
  position:sticky;
  bottom:0;
  z-index:12;
  background:#fff;
  box-shadow:0 -8px 18px rgba(15,23,42,.06);
}
.site-group-trash-btn{
  width:28px;
  height:28px;
  border:1px solid #fecaca;
  border-radius:8px;
  background:#fef2f2;
  color:#dc2626;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  cursor:pointer;
}
.site-group-trash-btn:hover{
  background:#fee2e2;
  border-color:#f87171;
}
.site-group-trash-btn svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-editor-actions{
  box-sizing:border-box;
}
@media(max-width:760px){
  .site-editor-wide{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #view.site-create-view,
  #view.module-view.site-create-view,
  .sgdi-view.site-create-view{
    padding-left:0!important;
    padding-right:4px!important;
  }
}
#view .effectif-table{
  width:100%!important;
  table-layout:fixed!important;
}
#view .effectif-table th,
#view .effectif-table td{
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
}
#view .effectif-table th{
  white-space:nowrap;
}
#view .effectif-table th .effectif-sort-head{
  width:100%;
  min-height:0!important;
  height:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
  cursor:pointer!important;
  padding:0!important;
  margin:0!important;
  text-align:left!important;
  white-space:nowrap!important;
}
#view .effectif-table th .effectif-sort-head span{
  color:#94a3b8!important;
  font-size:10px!important;
  line-height:1!important;
}
#view .effectif-table th .effectif-sort-head:hover,
#view .effectif-table th .effectif-sort-head.is-active{
  color:#043970!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#view .effectif-table th .effectif-sort-head.is-active span{
  color:#043970!important;
}
#view .effectif-table td{
  white-space:normal;
}
#view .effectif-table .effectif-agent-cell{
  overflow:visible;
}
#view .effectif-table .effectif-status-cell{
  text-align:center;
  white-space:nowrap;
  overflow:visible;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  padding-left:4px!important;
  padding-right:4px!important;
}
#view .effectif-table .effectif-status-cell .pill{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  height:28px!important;
  justify-content:center;
  padding:0 8px!important;
  border-radius:999px;
  font-size:11px!important;
  font-weight:950;
  background:#e8f8ef;
  color:#047857;
  display:inline-flex!important;
  align-items:center!important;
  line-height:1!important;
}

/* Statuts employés : code couleur unique dans toutes les vues */
#view .employee-status-pill{
  border:0!important;
  color:#fff!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  box-shadow:none!important;
}
#view .employee-status-actif{background:#16a34a!important;color:#fff!important}
#view .employee-status-sortant{background:#dc2626!important;color:#fff!important}
#view .employee-status-suspendu{background:#f97316!important;color:#fff!important}
#view .employee-status-blacklist{background:#111827!important;color:#fff!important}
#view .effectif-table .effectif-open-cell{
  text-align:center;
  white-space:nowrap;
  overflow:visible;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  padding-left:4px!important;
  padding-right:4px!important;
}
#view .effectif-table .effectif-row-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  min-width:0;
  width:100%;
}
#view .effectif-table .effectif-open-btn,
#view .effectif-table td .effectif-open-btn{
  width:78px!important;
  min-width:78px!important;
  max-width:78px!important;
  height:32px!important;
  justify-content:center!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#eef6ff!important;
  color:#011b3f!important;
  border:1px solid #0b3d75!important;
  font-weight:950!important;
  font-size:11px!important;
  white-space:nowrap!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
#view .input,
#view .select,
#view .textarea,
#view input,
#view select,
#view textarea{
  border:1px solid #cbd8e6!important;
  background:#fff!important;
  color:#0f172a!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
#view .input:focus,
#view .select:focus,
#view .textarea:focus,
#view input:focus,
#view select:focus,
#view textarea:focus{
  outline:none!important;
  border-color:#0b3d75!important;
  box-shadow:0 0 0 3px rgba(11,61,117,.12)!important;
}
#view .btn,
#view button.btn,
#view a.btn,
#view .module-page-header-actions button,
#view td .btn,
#view .mat-actions .btn{
  background:#e8f2fc!important;
  color:#011b3f!important;
  border:1px solid #0b3d75!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-weight:800!important;
}
#view .btn:hover,
#view button.btn:hover,
#view a.btn:hover,
#view .module-page-header-actions button:hover,
#view td .btn:hover,
#view .mat-actions .btn:hover{
  background:#dce8f5!important;
  color:#011b3f!important;
  border-color:#011b3f!important;
  box-shadow:none!important;
}
#view .btn-primary,
#view button.btn-primary,
#view a.btn-primary,
#view .btn-success,
#view .contract-create-btn,
#view .recrutement-add-btn,
#view .candidate-reserve-page-btn{
  background:#011b3f!important;
  color:#fff!important;
  border:1px solid #011b3f!important;
  border-radius:999px!important;
}
#view .btn-primary:hover,
#view button.btn-primary:hover,
#view a.btn-primary:hover,
#view .btn-success:hover,
#view .contract-create-btn:hover,
#view .recrutement-add-btn:hover,
#view .candidate-reserve-page-btn:hover{
  background:#0b3d75!important;
  color:#fff!important;
  border-color:#0b3d75!important;
}
#view .btn-danger,
#view button.btn-danger,
#view a.btn-danger{
  background:#dc2626!important;
  color:#fff!important;
  border:1px solid #dc2626!important;
  border-radius:999px!important;
}
#view .pill,
#view .badge,
#view .nav-count{
  border-radius:999px!important;
}
#view .drh-erp-kpi,
#view .card.kpi-clickable,
#view .dash-kpi,
#view .kpi.kpi-clickable{
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  border-radius:8px!important;
}
@media(max-width:760px){
  #view h1,#view .module-title-clean,#view .module-page-header h1{font-size:24px!important}
}


/* ----- TOPBAR MODULE RECTANGULAR TABS ----- */
.sgdi-topbar .topbar-structure-tabs{
  gap:0!important;
  background:#011b3f!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.sgdi-topbar .topbar-structure-btn{
  height:42px!important;
  min-height:42px!important;
  min-width:118px!important;
  border:0!important;
  border-radius:0!important;
  background:#011b3f!important;
  color:#dbeafe!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:none!important;
  border-left:1px solid rgba(255,255,255,.08)!important;
}
.sgdi-topbar .topbar-structure-btn:first-child{border-left:0!important}
.sgdi-topbar .topbar-structure-icon{
  width:17px;
  display:inline-flex;
  justify-content:center;
  color:#dbeafe;
  font-size:14px;
  line-height:1;
}
.sgdi-topbar .topbar-structure-btn:hover{
  background:#0b3d75!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
}
.sgdi-topbar .topbar-structure-btn.active{
  background:#124f8f!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:inset 4px 0 0 #0ea5e9!important;
}
.sgdi-topbar .topbar-structure-btn.active .topbar-structure-icon{color:#fff!important}
@media(max-width:980px){
  .sgdi-topbar .topbar-structure-tabs{max-width:100%;overflow-x:auto!important}
  .sgdi-topbar .topbar-structure-btn{height:36px!important;min-height:36px!important;min-width:104px!important;padding:0 12px!important;font-size:10px!important}
}


/* ----- SMALLER TOPBAR BACK BUTTON ----- */
.sgdi-topbar .topbar-back-btn{
  min-width:112px!important;
  width:112px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 10px!important;
  font-size:11px!important;
}
@media(max-width:980px){
  .sgdi-topbar .topbar-back-btn{min-width:94px!important;width:94px!important;height:30px!important;min-height:30px!important;font-size:10px!important}
}


/* ----- ICON ONLY BACK BUTTONS ----- */
.sgdi-topbar .topbar-back-btn,
.sidebar-back .btn{
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  position:relative!important;
}
.sgdi-topbar .topbar-back-btn::before,
.sidebar-back .btn::before{
  content:"↩";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#011b3f!important;
  font-size:30px!important;
  font-weight:950!important;
  line-height:1!important;
}
.sgdi-topbar .topbar-back-btn:hover,
.sidebar-back .btn:hover{
  background:#dce8f5!important;
  color:transparent!important;
}
.sgdi-topbar .topbar-back-btn:hover::before,
.sidebar-back .btn:hover::before{color:#011b3f!important}
@media(max-width:980px){
  .sgdi-topbar .topbar-back-btn,
  .sidebar-back .btn{width:42px!important;min-width:42px!important;max-width:42px!important;height:34px!important;min-height:34px!important}
  .sgdi-topbar .topbar-back-btn::before,
  .sidebar-back .btn::before{font-size:27px!important}
}


/* ----- TOPBAR SAME DARK BLUE AS SIDEBAR ----- */
.sgdi-topbar{
  background:#011b3f!important;
  border-bottom:1px solid #062b5f!important;
  box-shadow:none!important;
}
.sgdi-topbar .text-slate-500,
.sgdi-topbar .text-slate-400{color:#bfd3ea!important}
.sgdi-topbar-module-title,
.sgdi-topbar-module-title-active{color:#fff!important}
.sgdi-topbar .topbar-back-btn::before{color:#fff!important}
.sgdi-topbar .topbar-back-btn:hover{background:#0b3d75!important}
.sgdi-topbar .topbar-back-btn:hover::before{color:#fff!important}
.sgdi-topbar .topbar-societe-btn,
.sgdi-topbar .topbar-dialogue-btn{
  background:#011b3f!important;
  color:#fff!important;
  border-color:#bfd3ea!important;
}
.sgdi-topbar .topbar-societe-btn:hover,
.sgdi-topbar .topbar-dialogue-btn:hover{
  background:#0b3d75!important;
  color:#fff!important;
  border-color:#fff!important;
}
.sgdi-topbar .topbar-structure-tabs{background:#011b3f!important}
.sgdi-topbar .topbar-structure-btn{background:#011b3f!important;color:#dbeafe!important}
.sgdi-topbar .topbar-structure-btn:hover{background:#0b3d75!important;color:#fff!important}
.sgdi-topbar .topbar-structure-btn.active{background:#124f8f!important;color:#fff!important}


/* ----- TOPBAR MODULE TEXT FIT ----- */
.sgdi-topbar .topbar-structure-btn{
  min-width:106px!important;
  max-width:124px!important;
  padding:0 10px!important;
  gap:7px!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.sgdi-topbar .topbar-structure-btn span:last-child{
  min-width:0!important;
  max-width:100%!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:clamp(9px, .72vw, 11px)!important;
  line-height:1!important;
}
.sgdi-topbar .topbar-structure-icon{
  flex:0 0 14px!important;
  width:14px!important;
  font-size:12px!important;
}
@media(max-width:1180px){
  .sgdi-topbar .topbar-structure-btn{min-width:92px!important;max-width:106px!important;padding:0 8px!important;gap:5px!important}
  .sgdi-topbar .topbar-structure-btn span:last-child{font-size:9px!important}
}


/* ----- REPLACE YELLOW BUTTONS WITH DARK BLUE BLOCK STYLE ----- */
:root{
  --sgdi-btn-yellow:#124f8f;
  --sgdi-btn-yellow-hover:#0b3d75;
  --sgdi-btn-text:#fff;
  --sgdi-btn-border:#0ea5e9;
}
.btn:not(.btn-danger):not(.topbar-notification-btn):not(.btn-ghost):not(.btn-secondary),
button.btn:not(.btn-danger):not(.topbar-notification-btn):not(.btn-ghost):not(.btn-secondary),
a.btn:not(.btn-danger):not(.topbar-notification-btn):not(.btn-ghost):not(.btn-secondary),
.module-page-header-actions button:not(.btn-danger):not(.btn-ghost):not(.btn-secondary),
.candidate-actions-panel .btn:not(.btn-danger):not(.btn-ghost),
.candidate-actions-row .btn:not(.btn-danger):not(.btn-ghost),
.candidate-global-footer-actions .btn:not(.btn-danger):not(.btn-ghost),
td .btn:not(.btn-danger):not(.btn-ghost),
.mat-actions .btn:not(.btn-danger):not(.btn-ghost),
.site-map-missing button:not(.btn-danger):not(.btn-ghost){
  background:#011b3f!important;
  color:#fff!important;
  border:1px solid #011b3f!important;
  border-radius:999px!important;
  box-shadow:0 1px 3px rgba(1,27,63,.25)!important;
  font-weight:700!important;
}
.btn:not(.btn-danger):not(.topbar-notification-btn):not(.btn-ghost):not(.btn-secondary):hover,
button.btn:not(.btn-danger):not(.topbar-notification-btn):not(.btn-ghost):not(.btn-secondary):hover,
a.btn:not(.btn-danger):not(.topbar-notification-btn):not(.btn-ghost):not(.btn-secondary):hover,
.module-page-header-actions button:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):hover,
.candidate-actions-panel .btn:not(.btn-danger):not(.btn-ghost):hover,
.candidate-actions-row .btn:not(.btn-danger):not(.btn-ghost):hover,
.candidate-global-footer-actions .btn:not(.btn-danger):not(.btn-ghost):hover,
td .btn:not(.btn-danger):not(.btn-ghost):hover,
.mat-actions .btn:not(.btn-danger):not(.btn-ghost):hover,
.site-map-missing button:not(.btn-danger):not(.btn-ghost):hover{
  background:#0b3d75!important;
  color:#fff!important;
  border-color:#0b3d75!important;
}
.btn.btn-ghost,button.btn-ghost,a.btn-ghost{
  background:transparent!important;
  color:#334155!important;
  border:1px solid #cbd5e1!important;
  border-radius:999px!important;
}
.btn.btn-ghost:hover,button.btn-ghost:hover,a.btn-ghost:hover{
  background:#f1f5f9!important;
  color:#0f2d5a!important;
  border-color:#94a3b8!important;
}
.btn.btn-secondary,button.btn-secondary,a.btn-secondary{
  background:#f1f5f9!important;
  color:#0f2d5a!important;
  border:1px solid #cbd5e1!important;
  border-radius:999px!important;
}
.btn.btn-secondary:hover,button.btn-secondary:hover,a.btn-secondary:hover{
  background:#e2e8f0!important;
  border-color:#94a3b8!important;
}
.btn.btn-danger,button.btn-danger,a.btn-danger{
  border-radius:999px!important;
  border:1px solid #dc2626!important;
}
.topbar-notification-btn{
  border-radius:999px!important;
}
.sgdi-topbar .topbar-back-btn{
  background:transparent!important;
  border:0!important;
}
.sgdi-topbar .topbar-structure-btn{
  border-radius:0!important;
}


/* ----- FORCE FULL DARK TOPBAR BACKGROUND ----- */
.sgdi-shell > .sgdi-topbar,
.sgdi-topbar[style],
.sgdi-topbar-left,
.sgdi-topbar-left > div{
  background:#011b3f!important;
  background-image:none!important;
}
.sgdi-topbar{
  color:#fff!important;
}
.sgdi-topbar-left{
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  padding-right:10px!important;
}
.sgdi-topbar-left .text-slate-500,
.sgdi-topbar-left .text-slate-400{
  color:#bfd3ea!important;
}
.sgdi-topbar-module-title,
.sgdi-topbar-module-title-active{
  color:#fff!important;
  text-shadow:none!important;
}


/* ----- TOPBAR MESSAGE AND ALERT ICONS ----- */
.sgdi-topbar .topbar-dialogue-btn,
.sgdi-topbar .topbar-notification-btn{
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  position:relative!important;
  overflow:visible!important;
}
.sgdi-topbar .topbar-dialogue-btn:hover,
.sgdi-topbar .topbar-notification-btn:hover{background:transparent!important;box-shadow:none!important}
.sgdi-mail-icon{
  width:38px;
  height:28px;
  display:block;
  position:relative;
  border:4px solid #e8f2fc;
  border-radius:3px 3px 7px 7px;
  box-sizing:border-box;
}
.sgdi-mail-icon::before,
.sgdi-mail-icon::after{
  content:"";
  position:absolute;
  top:3px;
  width:22px;
  height:4px;
  background:#e8f2fc;
  transform-origin:left center;
}
.sgdi-mail-icon::before{left:0;transform:rotate(38deg)}
.sgdi-mail-icon::after{right:-3px;transform:rotate(142deg)}
.sgdi-topbar .topbar-dialogue-btn .badge{
  position:absolute!important;
  top:-5px!important;
  right:-4px!important;
  min-width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  background:#ff0000!important;
  color:#fff!important;
  border:0!important;
  font-size:13px!important;
  font-weight:950!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 6px!important;
}
.sgdi-alert-icon{
  width:0;
  height:0;
  display:block;
  border-left:22px solid transparent;
  border-right:22px solid transparent;
  border-bottom:40px solid #ef262b;
  position:relative;
  filter:drop-shadow(0 0 0 rgba(0,0,0,0));
}
.sgdi-alert-icon::before{
  content:"!";
  position:absolute;
  left:-5px;
  top:10px;
  color:#fff;
  font-size:26px;
  font-weight:950;
  line-height:1;
}
.sgdi-topbar .topbar-notification-btn.has-alert .sgdi-alert-icon{animation:sgdiAlertIconBlink .75s infinite}
.sgdi-topbar .topbar-notification-btn .badge{display:none!important}

/* ----- MODERN LOGIN TEMPLATE ----- */
body:has(.sgdi-login-page),
html:has(.sgdi-login-page),
body:has(.sgdi-login-page) #app{
  background:#f6f8fb!important;
  background-image:none!important;
}
.sgdi-login-page{
  min-height:100vh!important;
  color:#0f172a!important;
  background:
    radial-gradient(circle at 18% 18%, rgba(20,116,180,.18), transparent 30%),
    linear-gradient(135deg,#f8fbff 0%,#eef5fb 45%,#f7faf9 100%)!important;
  overflow:auto!important;
}
.sgdi-login-page:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(15,23,42,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.055) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(135deg,rgba(0,0,0,.65),transparent 72%);
}
.sgdi-login-main{
  width:min(1120px,92vw)!important;
  min-height:100svh!important;
  margin:0 auto!important;
  padding:clamp(28px,6vh,72px) 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  align-items:center!important;
  gap:clamp(28px,5vw,76px)!important;
  background:transparent!important;
}
.sgdi-login-visual{
  min-height:560px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.sgdi-login-brand{
  margin:0 0 18px!important;
  color:#07111f!important;
  font-size:clamp(72px,10vw,138px)!important;
  line-height:.82!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
.sgdi-login-brand i{
  color:#1267a8!important;
  font-style:normal!important;
  margin-left:8px!important;
  text-shadow:none!important;
}
.sgdi-login-kicker{
  margin:0;
  max-width:430px;
  color:#476173;
  font-size:clamp(17px,2vw,24px);
  line-height:1.35;
  font-weight:850;
}
.sgdi-login-orbit{
  width:min(420px,75vw);
  aspect-ratio:1;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(18,103,168,.15);
  border-radius:999px;
  opacity:.9;
}
.sgdi-login-orbit span{
  position:absolute;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#f4b740;
  box-shadow:0 0 0 8px rgba(244,183,64,.16);
  animation:sgdiLoginPulse 2.4s ease-in-out infinite;
}
.sgdi-login-orbit span:nth-child(1){left:12%;top:22%}
.sgdi-login-orbit span:nth-child(2){right:18%;top:38%;animation-delay:.45s;background:#1267a8;box-shadow:0 0 0 8px rgba(18,103,168,.14)}
.sgdi-login-orbit span:nth-child(3){left:42%;bottom:10%;animation-delay:.9s;background:#16a34a;box-shadow:0 0 0 8px rgba(22,163,74,.13)}
@keyframes sgdiLoginPulse{0%,100%{transform:scale(1);opacity:.72}50%{transform:scale(1.45);opacity:1}}
.sgdi-login-preview{
  width:min(360px,80%);
  margin-top:64px;
  padding:18px;
  border:1px solid rgba(15,23,42,.09);
  border-radius:8px;
  background:rgba(255,255,255,.76);
  box-shadow:0 24px 60px rgba(38,67,92,.16);
  backdrop-filter:blur(16px);
}
.sgdi-login-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
  color:#0f172a;
  font-size:14px;
}
.sgdi-login-preview-head span{
  color:#087f5b;
  font-size:12px;
  font-weight:900;
}
.sgdi-login-preview-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.sgdi-login-preview-grid em{
  height:64px;
  border-radius:7px;
  background:#edf5fb;
  color:#1267a8;
  display:flex;
  align-items:center;
  justify-content:center;
  font-style:normal;
  font-weight:950;
}
.sgdi-login-panel{
  width:100%;
  border:1px solid rgba(15,23,42,.1);
  border-radius:8px;
  background:rgba(255,255,255,.86);
  box-shadow:0 28px 70px rgba(31,50,71,.18);
  backdrop-filter:blur(18px);
  padding:clamp(28px,4vw,44px);
}
.sgdi-login-panel-head{margin-bottom:28px}
.sgdi-login-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border:1px solid rgba(18,103,168,.2);
  border-radius:999px;
  color:#1267a8;
  background:#eff7fd;
  font-size:12px;
  font-weight:950;
}
.sgdi-login-panel h1{
  margin:16px 0 8px;
  color:#0f172a;
  font-size:clamp(34px,4.2vw,52px);
  line-height:1;
  letter-spacing:0;
}
.sgdi-login-panel p{
  margin:0;
  color:#64748b;
  font-size:15px;
  line-height:1.55;
}
.sgdi-login-form{
  width:100%!important;
  display:grid!important;
  gap:16px!important;
}
.sgdi-login-field{
  position:relative;
  display:block;
  margin:0!important;
}
.sgdi-login-form .sgdi-login-field input{
  width:100%!important;
  height:60px!important;
  border:1px solid #d9e3ec!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:none!important;
  padding:21px 16px 7px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:17px!important;
  font-weight:400!important;
  outline:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.sgdi-login-form .sgdi-login-password-field input{padding-right:102px!important}
.sgdi-login-field span{
  position:absolute;
  left:16px;
  top:19px;
  color:#6b7d8d;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px;
  font-weight:400;
  pointer-events:none;
  transition:transform .16s ease,color .16s ease,font-size .16s ease;
}
.sgdi-login-field input:focus,
.sgdi-login-field input:not(:placeholder-shown){
  border-color:#1267a8!important;
  box-shadow:0 0 0 4px rgba(18,103,168,.12)!important;
}
.sgdi-login-field input:focus+span,
.sgdi-login-field input:not(:placeholder-shown)+span{
  transform:translateY(-12px);
  color:#1267a8;
  font-size:11px;
}
.sgdi-login-page .sgdi-login-password-toggle{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 11px!important;
  border:0!important;
  border-radius:6px!important;
  background:#edf5fb!important;
  color:#1267a8!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.sgdi-login-page .sgdi-login-submit{
  width:100%!important;
  min-height:56px!important;
  height:56px!important;
  margin:22px 0 14px!important;
  border:0!important;
  border-radius:8px!important;
  background:#0f172a!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(15,23,42,.2)!important;
  font-size:16px!important;
  font-weight:950!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.sgdi-login-page .sgdi-login-submit:hover{
  background:#1267a8!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 20px 42px rgba(18,103,168,.26)!important;
}
.sgdi-login-page .sgdi-login-submit:disabled{
  cursor:wait!important;
  opacity:.86!important;
  transform:none!important;
}
.sgdi-login-page .sgdi-login-submit.is-loading{
  position:relative;
  padding-left:42px!important;
}
.sgdi-login-page .sgdi-login-submit.is-loading::before{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:16px;
  height:16px;
  margin-top:-8px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  animation:sgdiLoginSpin .75s linear infinite;
}
.sgdi-login-status{
  min-height:20px;
  margin:-4px 0 12px;
  color:#475569;
  font-size:13px;
  font-weight:850;
}
@keyframes sgdiLoginSpin{to{transform:rotate(360deg)}}
.sgdi-login-assurance{
  display:flex;
  align-items:center;
  gap:9px;
  color:#64748b;
  font-size:13px;
  font-weight:850;
}
.sgdi-login-assurance span{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#16a34a;
  box-shadow:0 0 0 5px rgba(22,163,74,.13);
}
.sgdi-login-page .login-admin-system-shortcut{
  right:clamp(16px,3vw,42px)!important;
  bottom:clamp(16px,3vw,34px)!important;
  min-height:38px!important;
  padding:0 14px!important;
  border:1px solid rgba(15,23,42,.12)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  color:#334155!important;
  box-shadow:0 14px 35px rgba(31,50,71,.12)!important;
  backdrop-filter:blur(14px);
  font-size:13px!important;
  font-weight:900!important;
}
.sgdi-login-page .login-admin-system-shortcut:hover{
  color:#1267a8!important;
  border-color:rgba(18,103,168,.26)!important;
  text-decoration:none!important;
}
@media(max-width:860px){
  .sgdi-login-main{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding:24px 0 78px!important;
  }
  .sgdi-login-visual{
    min-height:auto;
    display:block;
  }
  .sgdi-login-brand{
    font-size:clamp(58px,17vw,92px)!important;
    margin-bottom:10px!important;
  }
  .sgdi-login-kicker{font-size:16px}
  .sgdi-login-orbit,.sgdi-login-preview{display:none}
  .sgdi-login-panel{padding:24px}
}
@media(max-width:420px){
  .sgdi-login-main{width:min(100% - 28px,420px)!important}
  .sgdi-login-panel{padding:20px}
  .sgdi-login-panel h1{font-size:34px}
  .sgdi-login-page .login-admin-system-shortcut{
    left:14px!important;
    right:14px!important;
    width:calc(100% - 28px)!important;
  }
}

/* ----- ATLAS CLEAR LOGIN ----- */
body:has(.sgdi-login-page),
html:has(.sgdi-login-page),
body:has(.sgdi-login-page) #app{
  background:#eef6ff!important;
  background-image:none!important;
}
.sgdi-login-page{
  min-height:100vh!important;
  overflow:auto!important;
  color:#0f172a!important;
  background:
    radial-gradient(circle at 10% 10%, rgba(29,78,216,.13), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(14,165,233,.16), transparent 32%),
    linear-gradient(135deg,#f8fbff 0%,#eaf4ff 48%,#f7fbff 100%)!important;
  position:relative!important;
}
.sgdi-login-page:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    linear-gradient(rgba(4,57,112,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(4,57,112,.055) 1px,transparent 1px)!important;
  background-size:48px 48px!important;
  pointer-events:none!important;
  mask-image:linear-gradient(135deg,rgba(0,0,0,.62),transparent 78%)!important;
}
.sgdi-login-page:after{
  content:""!important;
  position:absolute!important;
  right:-14vw!important;
  bottom:-28vh!important;
  width:58vw!important;
  height:58vw!important;
  border-radius:999px!important;
  background:rgba(4,57,112,.08)!important;
  pointer-events:none!important;
}
.sgdi-login-main{
  width:min(1180px,calc(100% - 48px))!important;
  min-width:0!important;
  min-height:100svh!important;
  margin:0 auto!important;
  padding:clamp(28px,6vh,72px) 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.82fr)!important;
  align-items:center!important;
  gap:clamp(34px,6vw,88px)!important;
  background:transparent!important;
  position:relative!important;
  z-index:1!important;
}
.sgdi-login-visual{
  display:flex!important;
  min-height:520px!important;
  flex-direction:column!important;
  justify-content:center!important;
  position:relative!important;
}
.sgdi-login-brand{
  display:block!important;
  margin:0!important;
  color:#081528!important;
  font-size:clamp(86px,12vw,156px)!important;
  line-height:.82!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  text-shadow:0 18px 42px rgba(4,57,112,.14)!important;
}
.sgdi-login-brand i{
  color:#1267a8!important;
  font-style:normal!important;
  margin-left:8px!important;
}
.sgdi-login-kicker{
  display:block!important;
  margin:20px 0 0!important;
  color:#334155!important;
  font-size:clamp(22px,2.4vw,32px)!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.sgdi-login-panel{
  width:100%!important;
  min-height:0!important;
  border:1px solid rgba(4,57,112,.12)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 30px 80px rgba(15,23,42,.14)!important;
  backdrop-filter:blur(18px)!important;
  padding:clamp(30px,4vw,46px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.sgdi-login-panel-head{
  margin:0 0 28px!important;
  text-align:left!important;
}
.sgdi-login-chip{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  min-height:30px!important;
  padding:0 12px!important;
  border:1px solid rgba(18,103,168,.2)!important;
  border-radius:999px!important;
  background:#edf7ff!important;
  color:#1267a8!important;
  font-size:12px!important;
  font-weight:950!important;
}
.sgdi-login-panel h1{
  margin:18px 0 8px!important;
  color:#0f172a!important;
  font-size:clamp(34px,4vw,48px)!important;
  line-height:.95!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}
.sgdi-login-panel p{
  display:block!important;
  margin:0!important;
  color:#64748b!important;
  font-size:15px!important;
  line-height:1.6!important;
  font-weight:650!important;
}
.sgdi-login-form{
  width:100%!important;
  display:grid!important;
  gap:16px!important;
}
.sgdi-login-field{
  display:block!important;
  position:relative!important;
  margin:0!important;
}
.sgdi-login-field:before{content:none!important}
.sgdi-login-form .sgdi-login-field input{
  width:100%!important;
  height:62px!important;
  min-height:62px!important;
  border:1px solid #d7e3ef!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:none!important;
  outline:none!important;
  padding:23px 18px 8px!important;
  font-size:17px!important;
  font-weight:750!important;
  font-family:Arial,Helvetica,sans-serif!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.sgdi-login-form .sgdi-login-password-field input{padding-right:92px!important}
.sgdi-login-form .sgdi-login-field input::placeholder{color:transparent!important}
.sgdi-login-form .sgdi-login-field input:focus{
  border-color:#1267a8!important;
  background:#fbfdff!important;
  box-shadow:0 0 0 4px rgba(18,103,168,.13)!important;
}
.sgdi-login-field span{
  position:absolute!important;
  left:18px!important;
  top:21px!important;
  transform:none!important;
  color:#64748b!important;
  font-size:15px!important;
  font-weight:750!important;
  font-style:normal!important;
  pointer-events:none!important;
  transition:transform .14s ease,color .14s ease,font-size .14s ease!important;
}
.sgdi-login-field input:focus+span,
.sgdi-login-field input:not(:placeholder-shown)+span{
  opacity:1!important;
  transform:translateY(-12px)!important;
  color:#1267a8!important;
  font-size:11px!important;
}
.sgdi-login-page .sgdi-login-password-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  min-width:72px!important;
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:10px!important;
  background:#e9f5ff!important;
  color:#1267a8!important;
  box-shadow:none!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  cursor:pointer!important;
  z-index:3!important;
  white-space:nowrap!important;
}
.sgdi-login-page .sgdi-login-password-toggle:hover{
  background:#dcefff!important;
  color:#043970!important;
}
.sgdi-login-remember{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.sgdi-login-remember input{
  width:16px!important;
  height:16px!important;
  accent-color:#1267a8!important;
}
.sgdi-login-page .sgdi-login-submit{
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  margin:22px 0 12px!important;
  border:0!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#043970,#1267a8)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(4,57,112,.24)!important;
  font-size:16px!important;
  font-weight:950!important;
  letter-spacing:0!important;
  cursor:pointer!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
.sgdi-login-page .sgdi-login-submit:hover{
  filter:brightness(1.08)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 22px 46px rgba(4,57,112,.3)!important;
}
.sgdi-login-page .sgdi-login-submit.is-loading{
  padding-left:42px!important;
}
.sgdi-login-page .sgdi-login-submit.is-loading::before{
  width:16px!important;
  height:16px!important;
  left:18px!important;
  margin-top:-8px!important;
}
.sgdi-login-status{
  min-height:20px!important;
  margin:0 0 10px!important;
  color:#475569!important;
  text-align:left!important;
  font-size:13px!important;
  font-weight:800!important;
}
.sgdi-login-assurance{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:850!important;
  margin:0 0 12px!important;
}
.sgdi-login-assurance span{
  width:9px!important;
  height:9px!important;
  border-radius:999px!important;
  background:#16a34a!important;
  box-shadow:0 0 0 5px rgba(22,163,74,.13)!important;
}
.sgdi-login-forgot{
  border:0!important;
  background:transparent!important;
  color:#1267a8!important;
  cursor:pointer!important;
  font-size:13px!important;
  font-weight:900!important;
  padding:0!important;
  text-align:left!important;
}
.sgdi-login-forgot:hover{text-decoration:underline!important;color:#043970!important}
.sgdi-login-page .login-admin-system-shortcut{
  right:clamp(18px,3vw,42px)!important;
  bottom:clamp(18px,3vw,34px)!important;
  min-height:42px!important;
  height:auto!important;
  padding:0 16px!important;
  border:1px solid rgba(4,57,112,.14)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  color:#334155!important;
  box-shadow:0 14px 34px rgba(15,23,42,.1)!important;
  backdrop-filter:blur(14px)!important;
  font-size:13px!important;
  font-weight:900!important;
}
.sgdi-login-page .login-admin-system-shortcut:hover{
  color:#1267a8!important;
  border-color:rgba(18,103,168,.28)!important;
  text-decoration:none!important;
}
@media(max-width:860px){
  .sgdi-login-main{
    width:min(100% - 28px,520px)!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:28px 0 86px!important;
  }
  .sgdi-login-visual{min-height:auto!important;text-align:center!important}
  .sgdi-login-brand{font-size:clamp(64px,18vw,96px)!important}
  .sgdi-login-kicker{font-size:20px!important}
}
@media(max-width:520px){
  .sgdi-login-main{width:min(100% - 24px,420px)!important}
  .sgdi-login-panel{border-radius:22px!important;padding:24px!important}
  .sgdi-login-page .login-admin-system-shortcut{
    left:14px!important;
    right:14px!important;
    width:calc(100% - 28px)!important;
    text-align:center!important;
    justify-content:center!important;
  }
}

/* ----- MODERN SOCIETY SELECTOR + COMPANY PORTAL ----- */
body:has(.sgdi-societe-page),
html:has(.sgdi-societe-page),
body:has(.sgdi-societe-page) #app,
body:has(.company-portal),
html:has(.company-portal),
body:has(.company-portal) #app{
  background:#f6f8fb!important;
  background-image:none!important;
}
.sgdi-societe-page,
.company-portal{
  min-height:100vh!important;
  width:100%!important;
  color:#0f172a!important;
  background:
    radial-gradient(circle at 16% 20%, rgba(20,116,180,.16), transparent 31%),
    radial-gradient(circle at 84% 84%, rgba(22,163,74,.10), transparent 30%),
    linear-gradient(135deg,#f8fbff 0%,#eef5fb 48%,#f7faf9 100%)!important;
  position:relative!important;
  overflow:auto!important;
  isolation:isolate;
}
.sgdi-societe-page:before,
.company-portal:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background-image:linear-gradient(rgba(15,23,42,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.055) 1px,transparent 1px)!important;
  background-size:44px 44px!important;
  mask-image:linear-gradient(135deg,rgba(0,0,0,.62),transparent 74%)!important;
}
.sgdi-societe-main{
  width:min(980px,92vw)!important;
  min-height:100svh!important;
  margin:0 auto!important;
  padding:clamp(46px,8vh,90px) 0 clamp(126px,14vh,150px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:transparent!important;
}
.sgdi-societe-brand{
  margin:0 0 14px!important;
  color:#07111f!important;
  font-size:clamp(72px,9vw,122px)!important;
  line-height:.85!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
.sgdi-societe-brand i{
  color:#1267a8!important;
  font-style:normal!important;
  margin-left:6px!important;
  text-shadow:none!important;
}
.sgdi-societe-subtitle{
  margin:0 0 clamp(64px,12vh,118px)!important;
  color:#476173!important;
  font-size:clamp(13px,1.4vw,16px)!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.sgdi-societe-selector{
  width:min(780px,100%)!important;
  padding:18px!important;
  border:1px solid rgba(15,23,42,.09)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.84)!important;
  box-shadow:0 28px 70px rgba(31,50,71,.16)!important;
  backdrop-filter:blur(18px);
}
.sgdi-societe-selector-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
}
.sgdi-societe-selector-head span{
  color:#1267a8;
  font-size:12px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sgdi-societe-selector-head strong{
  color:#0f172a;
  font-size:18px;
  font-weight:400;
}
.sgdi-societe-input-wrap{
  width:100%!important;
  height:64px!important;
  border:1px solid #d9e3ec!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
  display:grid!important;
  grid-template-columns:1fr 104px!important;
  align-items:center!important;
  padding:0 7px 0 18px!important;
}
.sgdi-societe-select{
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:18px!important;
  font-weight:400!important;
  outline:none!important;
}
.sgdi-societe-select option{
  font-weight:400!important;
}
.sgdi-societe-select,
.sgdi-societe-select *{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-weight:400!important;
}
.sgdi-societe-page .sgdi-societe-access{
  width:92px!important;
  min-height:50px!important;
  height:50px!important;
  border:0!important;
  border-radius:8px!important;
  background:#0f172a!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(15,23,42,.18)!important;
  font-size:20px!important;
  font-weight:400!important;
}
.sgdi-societe-page .sgdi-societe-access:hover{
  background:#1267a8!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
.sgdi-societe-page .sgdi-societe-actions{
  left:clamp(20px,6vw,92px)!important;
  right:clamp(20px,6vw,92px)!important;
  bottom:clamp(52px,7vh,78px)!important;
}
.sgdi-societe-page .sgdi-societe-edit,
.sgdi-societe-page .sgdi-societe-logout,
.company-portal .company-portal-change,
.company-portal .company-portal-logout{
  min-height:40px!important;
  height:40px!important;
  width:auto!important;
  min-width:144px!important;
  padding:0 16px!important;
  border:1px solid rgba(15,23,42,.12)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  color:#334155!important;
  box-shadow:0 14px 35px rgba(31,50,71,.12)!important;
  backdrop-filter:blur(14px);
  font-size:13px!important;
  font-weight:950!important;
}
.sgdi-societe-page .sgdi-societe-edit:hover,
.sgdi-societe-page .sgdi-societe-logout:hover,
.company-portal .company-portal-change:hover,
.company-portal .company-portal-logout:hover{
  color:#1267a8!important;
  border-color:rgba(18,103,168,.28)!important;
  background:#fff!important;
  transform:translateY(-1px)!important;
}
.sgdi-societe-bottom,
.company-portal-user{
  left:clamp(20px,6vw,92px)!important;
  bottom:clamp(18px,3.4vh,34px)!important;
  color:#334155!important;
  font-size:14px!important;
  font-weight:850!important;
}
.sgdi-societe-user strong,
.company-portal-user strong{
  color:#0f172a!important;
  font-weight:950!important;
}
.sgdi-societe-admin{
  right:clamp(20px,6vw,92px)!important;
  bottom:clamp(18px,3.4vh,34px)!important;
  min-height:38px!important;
  padding:0 14px!important;
  border:1px solid rgba(220,38,38,.2)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  color:#b91c1c!important;
  box-shadow:0 14px 35px rgba(31,50,71,.10)!important;
}
.company-portal-main{
  width:min(1040px,92vw)!important;
  min-height:100svh!important;
  margin:0 auto!important;
  padding:clamp(56px,7vh,82px) 0 clamp(118px,13vh,150px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:transparent!important;
}
.company-portal-hero{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  justify-items:center;
  gap:28px;
  margin-bottom:clamp(46px,8vh,78px);
}
.company-portal-brand{
  justify-self:start;
  color:#07111f;
  font-size:clamp(54px,7vw,96px);
  line-height:.85;
  font-weight:950;
  letter-spacing:0;
}
.company-portal-brand i{
  color:#1267a8;
  font-style:normal;
  margin-left:5px;
}
.company-portal-context{
  position:fixed;
  left:clamp(20px,3vw,34px);
  top:72px;
  z-index:5;
  width:260px;
  max-width:calc(100vw - 40px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
  backdrop-filter:none;
}
.company-portal-context span{
  display:block;
  color:#1267a8;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}
.company-portal-context strong{
  display:block;
  color:#0f172a;
  font-size:18px;
  line-height:1.16;
  font-weight:950;
}
.company-portal-logo-wrap{
  justify-self:center!important;
  width:clamp(128px,14vw,188px)!important;
  height:clamp(128px,14vw,188px)!important;
  margin:0!important;
  transform:none!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 24px 58px rgba(31,50,71,.18)!important;
  padding:10px!important;
}
.company-portal-logo{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.company-portal-grid{
  width:min(760px,100%)!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(150px,1fr))!important;
  gap:16px!important;
  transform:none!important;
}
.company-portal .company-portal-module{
  min-height:74px!important;
  height:auto!important;
  border:1px solid rgba(15,23,42,.09)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.86)!important;
  color:#0f172a!important;
  box-shadow:0 18px 44px rgba(31,50,71,.12)!important;
  padding:0 18px!important;
  font-size:14px!important;
  line-height:1.12!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.company-portal .company-portal-module:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(18,103,168,.26)!important;
  background:#fff!important;
  color:#1267a8!important;
  box-shadow:0 24px 60px rgba(31,50,71,.18)!important;
}
.company-portal .company-portal-module:active{
  transform:translateY(-1px)!important;
}
.company-portal-change{right:clamp(20px,3vw,34px)!important;left:auto!important;top:70px!important}
.company-portal-logout{right:clamp(20px,3vw,34px)!important;top:22px!important}
@media(max-width:900px){
  .company-portal-hero{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:18px;
    margin-bottom:34px;
  }
  .company-portal-brand{justify-self:center;text-align:center}
  .company-portal-grid{grid-template-columns:repeat(2,minmax(140px,1fr))!important}
}
@media(max-width:640px){
  .sgdi-societe-main,.company-portal-main{width:min(100% - 28px,420px)!important;padding-top:72px!important}
  .sgdi-societe-brand{font-size:58px!important}
  .sgdi-societe-subtitle{text-align:center!important;margin-bottom:52px!important}
  .sgdi-societe-selector{padding:14px!important}
  .sgdi-societe-selector-head{display:block}
  .sgdi-societe-selector-head strong{display:block;margin-top:6px;font-size:16px}
  .sgdi-societe-input-wrap{height:auto!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important}
  .sgdi-societe-select{height:48px!important}
  .sgdi-societe-page .sgdi-societe-access{width:100%!important}
  .sgdi-societe-page .sgdi-societe-actions{left:14px!important;right:14px!important;bottom:58px!important;gap:10px!important}
  .sgdi-societe-page .sgdi-societe-edit,.sgdi-societe-page .sgdi-societe-logout{min-width:0!important;flex:1 1 0!important;font-size:12px!important;padding:0 10px!important}
  .company-portal-brand{font-size:54px}
  .company-portal-grid{grid-template-columns:1fr!important;gap:12px!important}
  .company-portal .company-portal-module{min-height:58px!important}
  .company-portal-change,.company-portal-logout{min-width:132px!important;font-size:11px!important;padding:0 11px!important}
  .company-portal-change{right:12px!important;left:auto!important;top:56px!important}
  .company-portal-logout{right:12px!important;top:14px!important}
  .company-portal-context{left:12px!important;right:auto!important;top:58px!important;width:220px!important;padding:0!important;text-align:left!important}
  .company-portal-context span{font-size:9px!important}
  .company-portal-context strong{font-size:14px!important}
}

/* ----- ERP MODULES FRONTEND ----- */
.erp-page{display:grid;gap:16px;color:#0f172a}
.erp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(31,50,71,.08)}
.erp-kicker{color:#1267a8;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.erp-head h1{margin:0;color:#0f172a;font-size:30px;line-height:1;font-weight:950;letter-spacing:0}
.erp-head p{margin:8px 0 0;color:#64748b;font-size:14px;font-weight:750}
.erp-actions{display:flex;gap:8px;flex-wrap:wrap}
.erp-tabs{display:flex;gap:8px;overflow:auto;padding:2px 0}
.erp-tabs button{height:36px;border:1px solid #d9e3ec;border-radius:999px;background:#fff;color:#334155;padding:0 14px;font-size:12px;font-weight:950;white-space:nowrap;cursor:pointer}
.erp-tabs button.active,.erp-tabs button:hover{background:#0f172a;color:#fff;border-color:#0f172a}
.erp-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}
.erp-kpi{min-height:112px;border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fff;padding:16px;box-shadow:0 14px 34px rgba(31,50,71,.08);display:flex;flex-direction:column;justify-content:space-between}
.erp-kpi span{color:#64748b;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.erp-kpi strong{color:#0f172a;font-size:27px;line-height:1;font-weight:950}
.erp-kpi em{color:#1267a8;font-style:normal;font-size:12px;font-weight:850}
.erp-card,.erp-table-wrap{border:1px solid rgba(15,23,42,.08);border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(31,50,71,.08);overflow:hidden}
.erp-card{padding:18px}
.erp-card h2{margin:0 0 14px;color:#0f172a;font-size:17px;font-weight:950}
.erp-action-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}
.erp-action-grid button{min-height:58px;border:1px solid #d9e3ec;border-radius:8px;background:#f8fbff;color:#0f172a;font-size:13px;font-weight:950;cursor:pointer}
.erp-action-grid button:hover{background:#fff;border-color:rgba(18,103,168,.28);color:#1267a8;transform:translateY(-1px)}
.erp-table{width:100%;border-collapse:collapse;font-size:13px}
.erp-table th{background:#f8fbff;color:#475569;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:12px;border-bottom:1px solid #e2e8f0}
.erp-table td{padding:12px;border-bottom:1px solid #eef2f6;color:#0f172a;vertical-align:middle}
.erp-table tr:hover td{background:#fbfdff}
.erp-empty{text-align:center;color:#64748b;padding:34px!important}
.erp-error{border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b;padding:16px;font-weight:850}
.erp-json{max-height:420px;overflow:auto;border-radius:8px;background:#0f172a;color:#e2e8f0;padding:14px;font-size:12px;line-height:1.45}
@media(max-width:900px){.erp-head{align-items:flex-start;flex-direction:column}.erp-kpi-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.erp-action-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:560px){.erp-kpi-grid,.erp-action-grid{grid-template-columns:1fr}.erp-head h1{font-size:25px}.erp-table-wrap{overflow:auto}.erp-table{min-width:680px}}
@keyframes sgdiAlertIconBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.06)}}
@media(max-width:980px){
  .sgdi-topbar .topbar-dialogue-btn,.sgdi-topbar .topbar-notification-btn{width:42px!important;min-width:42px!important;max-width:42px!important;height:36px!important;min-height:36px!important}
  .sgdi-mail-icon{width:33px;height:24px;border-width:3px}
  .sgdi-alert-icon{border-left-width:19px;border-right-width:19px;border-bottom-width:34px}
  .sgdi-alert-icon::before{top:8px;font-size:23px}
}


/* ----- SERIOUS TOPBAR ACTION ICONS ----- */
.sgdi-topbar .topbar-dialogue-btn,
.sgdi-topbar .topbar-notification-btn{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:36px!important;
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:1px solid rgba(219,234,254,.45)!important;
  border-radius:6px!important;
  padding:0!important;
  box-shadow:none!important;
}
.sgdi-topbar .topbar-dialogue-btn:hover,
.sgdi-topbar .topbar-notification-btn:hover{
  background:#0b3d75!important;
  border-color:#dbeafe!important;
}
.sgdi-mail-icon,
.sgdi-alert-icon{
  width:auto!important;
  height:auto!important;
  border:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#e8f2fc!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:24px!important;
  font-weight:800!important;
  line-height:1!important;
  background:transparent!important;
  filter:none!important;
}
.sgdi-mail-icon::before,.sgdi-mail-icon::after,
.sgdi-alert-icon::before,.sgdi-alert-icon::after{content:none!important;display:none!important}
.sgdi-alert-icon{color:#ef262b!important;font-size:25px!important}
.sgdi-topbar .topbar-notification-btn.has-alert .sgdi-alert-icon{animation:sgdiAlertIconBlink .75s infinite}
.sgdi-topbar .topbar-dialogue-btn .badge{
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  min-width:17px!important;
  height:17px!important;
  font-size:10px!important;
  background:#ef262b!important;
  color:#fff!important;
  border:2px solid #011b3f!important;
  border-radius:999px!important;
}
.sgdi-topbar .topbar-notification-btn .badge{display:none!important}


/* ----- OUTLINE TOPBAR ACTION ICONS ----- */
.sgdi-topbar .topbar-dialogue-btn,
.sgdi-topbar .topbar-notification-btn{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:36px!important;
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:1px solid rgba(219,234,254,.45)!important;
  border-radius:6px!important;
  padding:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.sgdi-topbar .topbar-dialogue-btn:hover,
.sgdi-topbar .topbar-notification-btn:hover{
  background:#0b3d75!important;
  border-color:#dbeafe!important;
}
.sgdi-mail-icon,
.sgdi-alert-icon{
  width:24px!important;
  height:24px!important;
  display:block!important;
  fill:none!important;
  background:transparent!important;
  border:0!important;
  filter:none!important;
}
.sgdi-mail-icon{
  stroke:#e8f2fc!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.sgdi-alert-icon{
  stroke:#ef262b!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.sgdi-mail-icon::before,.sgdi-mail-icon::after,
.sgdi-alert-icon::before,.sgdi-alert-icon::after{content:none!important;display:none!important}
.sgdi-topbar .topbar-notification-btn.has-alert .sgdi-alert-icon{animation:sgdiAlertIconBlink .75s infinite}
.sgdi-topbar .topbar-dialogue-btn .badge{
  position:absolute!important;
  top:-7px!important;
  right:-7px!important;
  min-width:17px!important;
  height:17px!important;
  font-size:10px!important;
  background:#ef262b!important;
  color:#fff!important;
  border:2px solid #011b3f!important;
  border-radius:999px!important;
}
.sgdi-topbar .topbar-notification-btn .badge{display:none!important}

/* ── ATLAS ERP ─────────────────────────────────────────────────────────── */
.erp-page{padding:0 0 48px}
.erp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 14px;background:linear-gradient(135deg,#f0f4ff,#e8f0fb);border-bottom:2px solid #dbe3ee}
.erp-kicker{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#6b7a99;margin-bottom:3px}
.erp-head h1{font-size:22px;font-weight:900;color:#01112f;margin:0}
.erp-sub{font-size:13px;color:#64748b;margin:2px 0 0}
.erp-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.erp-tabs{display:flex;gap:6px;padding:10px 16px;background:#fff;border-bottom:1px solid #e2e8f0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.erp-tab{display:inline-flex;align-items:center;padding:7px 14px;border:1.5px solid #dbe3ee;border-radius:8px;background:#f8fafc;color:#334155;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s}
.erp-tab:hover{background:#eef2ff;border-color:#6366f1;color:#4338ca}
.erp-tab.active{background:#043970;color:#fff;border-color:#043970;box-shadow:0 3px 8px rgba(4,57,112,.2)}
.erp-body{padding:16px 20px;display:flex;flex-direction:column;gap:16px}
.erp-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.erp-kpi{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s}
.erp-kpi:hover{border-color:var(--kpi-accent,#6366f1)}
.erp-kpi-label{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}
.erp-kpi-value{font-size:22px;font-weight:900;color:var(--kpi-accent,#01112f);line-height:1.2}
.erp-kpi-sub{font-size:11px;color:#94a3b8}
.erp-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:16px}
.erp-card-title{font-size:13px;font-weight:800;color:#334155;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}
.erp-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.erp-action-grid button{padding:10px 14px;border:1.5px solid #dbe3ee;border-radius:8px;background:#f8fafc;font-size:12px;font-weight:700;cursor:pointer;color:#334155;transition:all .15s;text-align:left}
.erp-action-grid button:hover{background:#eef2ff;border-color:#6366f1;color:#4338ca}
.erp-table-wrap{overflow-x:auto;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff}
.erp-table{width:100%;border-collapse:collapse;font-size:13px}
.erp-table thead tr{background:#f1f5f9}
.erp-table th{padding:10px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b;text-align:left;white-space:nowrap}
.erp-table td{padding:9px 12px;border-top:1px solid #f1f5f9;vertical-align:middle;color:#1e293b}
.erp-table tbody tr:hover{background:#f8fafc}
.erp-empty{text-align:center;color:#94a3b8;font-style:italic;padding:24px!important}
.erp-error{background:#fef2f2;border:1.5px solid #fecaca;border-radius:10px;padding:16px;color:#dc2626;font-size:13px;margin:16px 20px}
.erp-tag{display:inline-block;padding:2px 8px;background:#f1f5f9;border-radius:5px;font-size:11px;font-weight:700;font-family:monospace;color:#334155}
.erp-btn-link{background:none;border:none;color:#4338ca;font-size:12px;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}
.erp-btn-link:hover{color:#312e81}
.erp-actions-cell{display:flex;gap:6px;white-space:nowrap}
.erp-status-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.erp-status-item{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#334155}
/* Pills */
.erp-pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.03em}
.erp-pill-gray{background:#f1f5f9;color:#64748b}
.erp-pill-blue{background:#dbeafe;color:#1d4ed8}
.erp-pill-green{background:#dcfce7;color:#15803d}
.erp-pill-orange{background:#ffedd5;color:#c2410c}
.erp-pill-red{background:#fee2e2;color:#dc2626}
/* Forms inside modals */
.erp-form{display:flex;flex-direction:column;gap:10px;min-width:400px;max-width:600px}
.erp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.erp-field{display:flex;flex-direction:column;gap:4px}
.erp-field-full{grid-column:1/-1}
.erp-field span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}
.erp-field span em{color:#ef4444;font-style:normal;margin-left:3px}
.erp-field input,.erp-field select,.erp-field textarea{padding:8px 10px;border:1.5px solid #dbe3ee;border-radius:8px;font-size:13px;color:#1e293b;background:#fff;transition:border-color .15s}
.erp-field input:focus,.erp-field select:focus,.erp-field textarea:focus{outline:none;border-color:#6366f1}
.erp-json{font-size:11px;background:#f8fafc;border-radius:8px;padding:12px;overflow:auto;max-height:320px;white-space:pre-wrap;color:#334155}
@media(max-width:640px){
  .erp-kpi-grid{grid-template-columns:1fr 1fr}
  .erp-form{min-width:0}
  .erp-form-row{grid-template-columns:1fr}
  .erp-head{flex-direction:column}
  .erp-head h1{font-size:18px}
}

/* ── Workspace Tabs — style navigateur Chrome ─────────── */
.ws-browser-chrome{
  height:40px;
  flex-shrink:0;
  display:flex;
  align-items:flex-end;
  gap:0;
  padding:5px 0 0 0;
  background:#7ea5de;
  border-bottom:0;
  overflow:hidden;
}
.ws-tabs-bar{
  min-width:0;
  flex:1 1 auto;
  height:35px;
  display:flex;
  align-items:flex-end;
  gap:0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.ws-browser-chrome--actions-only{
  justify-content:flex-end;
}
.ws-browser-chrome--actions-only .ws-tabs-bar{
  display:none;
}
.ws-tabs-bar::-webkit-scrollbar{display:none}
.ws-tab{
  position:relative;
  height:35px;
  min-width:145px;
  max-width:205px;
  flex:0 1 180px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px 0 12px;
  border:0;
  border-radius:8px 8px 0 0;
  background:transparent;
  color:#15365f;
  box-shadow:none;
  cursor:pointer;
  outline:none;
  white-space:nowrap;
  transition:background .12s ease,box-shadow .12s ease,color .12s ease;
  isolation:isolate;
}
.ws-tab::before{
  content:"";
  position:absolute;
  right:0;
  top:8px;
  bottom:8px;
  width:1px;
  background:rgba(22,55,99,.35);
}
.ws-tab:hover{background:rgba(255,255,255,.15);color:#0f2d52}
.ws-tab--active{
  z-index:2;
  background:#ffffff;
  color:#17304f;
  box-shadow:none;
}
.ws-tab--active::before{display:none}
.ws-tab--active::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:8px 8px 0 0;
  background:#ffffff;
  z-index:-1;
}
.ws-tab--active + .ws-tab::before{display:none}
.ws-tab--active .ws-tab-favicon,
.ws-tab--active .ws-tab-label{position:relative;z-index:1}
.ws-tab-favicon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:2px;
  background:#10233f;
  color:#f5d56b;
  font-size:11px;
  line-height:1;
  overflow:hidden;
  transition:transform .12s ease,box-shadow .12s ease;
}
.ws-tab-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  font-weight:500;
  letter-spacing:0;
  text-align:left;
}
.ws-tab--active .ws-tab-label{
  font-weight:900;
}
.ws-tab--active .ws-tab-favicon{
  transform:translateY(-2px);
  box-shadow:0 2px 5px rgba(15,35,63,.2);
}
.ws-quicklaunch-group{display:flex;align-items:center;gap:3px;padding-right:7px;margin-right:3px;border-right:1px solid rgba(255,255,255,.18)}
.ws-quicklaunch-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;cursor:pointer;text-decoration:none;opacity:.85;transition:opacity .15s,transform .1s}
.ws-quicklaunch-btn:hover{opacity:1;transform:scale(1.08)}
.ws-ql-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;font-size:11px;font-weight:900;color:#fff;line-height:1;font-family:system-ui,sans-serif}
.ws-tab-actions{
  height:35px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 7px;
}
.sgdi-refresh-notice{
  align-items:center;
  max-width:245px;
  min-height:26px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(251,191,36,.22);
  border:1px solid rgba(245,158,11,.42);
  color:#7c2d12;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ws-browser-chrome .topbar-dialogue-btn,
.ws-browser-chrome .topbar-notification-btn{
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:29px!important;
  min-height:29px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border-radius:6px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.ws-browser-chrome .topbar-dialogue-btn:hover,
.ws-browser-chrome .topbar-notification-btn:hover{
  background:transparent!important;
  border:0!important;
}
.ws-browser-chrome .topbar-notification-btn.has-alert{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.ws-browser-chrome .sgdi-mail-icon,
.ws-browser-chrome .sgdi-alert-icon{
  width:20px!important;
  height:20px!important;
}
.ws-browser-chrome .topbar-dialogue-btn .badge{
  top:-6px!important;
  right:-6px!important;
  border-color:#7ea5de!important;
}
.ws-refresh-tab{
  height:31px;
  width:34px;
  flex:0 0 34px;
  margin-bottom:2px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#315b95;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.ws-refresh-tab:hover{background:rgba(255,255,255,.24);color:#17355f}
.ws-refresh-tab.has-update{
  background:#f59e0b;
  color:#fff;
  box-shadow:0 0 0 3px rgba(245,158,11,.18);
}
.ws-refresh-tab.has-update:hover{
  background:#d97706;
  color:#fff;
}
.ws-refresh-tab:disabled{
  cursor:wait;
  opacity:.78;
}
.ws-refresh-tab.is-refreshing{
  animation:wsRefreshSpin .8s linear infinite;
}
@keyframes wsRefreshSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){
  .ws-browser-chrome{padding-left:0}
  .ws-tab{min-width:138px;flex-basis:168px}
  .ws-tab-label{font-size:11px}
  .ws-tab-actions{padding:0 4px}
}
@media(max-width:600px){
  .ws-tab{min-width:54px;flex-basis:54px;padding:0 10px;justify-content:center}
  .ws-tab-label{display:none}
  .ws-tab-favicon{width:18px;height:18px;flex-basis:18px}
  .ws-browser-chrome .topbar-dialogue-btn,
  .ws-browser-chrome .topbar-notification-btn{width:30px!important;min-width:30px!important;max-width:30px!important}
}

/* Topbar back: white arrow only */
.sgdi-topbar .topbar-back-btn,
.sgdi-topbar .topbar-back-btn:hover,
.sgdi-topbar .topbar-back-btn:focus,
.sgdi-topbar .topbar-back-btn:active{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:34px!important;
  min-height:34px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:transparent!important;
}
.sgdi-topbar .topbar-back-btn::before,
.sgdi-topbar .topbar-back-btn:hover::before,
.sgdi-topbar .topbar-back-btn:focus::before,
.sgdi-topbar .topbar-back-btn:active::before{
  content:"↩"!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:24px!important;
  font-weight:950!important;
  line-height:1!important;
}
.sgdi-topbar-title-right{
  flex:1 1 auto!important;
  margin-left:auto!important;
  margin-right:0!important;
  text-align:right!important;
  justify-content:flex-end!important;
  white-space:nowrap!important;
}
.sgdi-topbar-actions:empty{display:none!important}

/* Exact topbar layout: back + active company left, module title hard right */
.sgdi-shell > .sgdi-topbar{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:18px!important;
  min-height:40px!important;
  padding:0 28px 0 12px!important;
  background:#011b3f!important;
  border-bottom:0!important;
}
.sgdi-topbar-left,
.sgdi-topbar-left-module{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  gap:14px!important;
  padding-right:0!important;
}
.sgdi-topbar-left .text-slate-500,
.sgdi-topbar-left .text-slate-400{
  color:#c2d0e5!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.1em!important;
  white-space:nowrap!important;
}
.sgdi-topbar-title-right,
.sgdi-topbar-module-title,
.sgdi-topbar-module-title-active{
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:0!important;
  justify-self:end!important;
  text-align:right!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
}

/* Topbar buttons use the same fixed-bar blue */
.sgdi-topbar .topbar-societe-btn,
.sgdi-topbar .topbar-dialogue-btn,
.sgdi-topbar .topbar-notification-btn,
.sgdi-topbar .sgdi-topbar-actions>.btn{
  background:#011b3f!important;
  color:#fff!important;
  border-color:#31527c!important;
  box-shadow:none!important;
}
.sgdi-topbar .topbar-societe-btn:hover,
.sgdi-topbar .topbar-dialogue-btn:hover,
.sgdi-topbar .topbar-notification-btn:hover,
.sgdi-topbar .sgdi-topbar-actions>.btn:hover{
  background:#062b5f!important;
  color:#fff!important;
  border-color:#6d8fba!important;
  box-shadow:none!important;
}
.sgdi-topbar .topbar-notification-btn.has-alert{
  background:#011b3f!important;
  border-color:#ef262b!important;
  box-shadow:0 0 0 2px rgba(239,38,43,.18)!important;
}

/* Module subdomain portals */
.module-host-portal .company-portal-main{
  justify-content:center!important;
  gap:28px!important;
}
.module-host-hero{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  margin:0!important;
}
.module-host-brand{
  color:#061b42;
  font-size:clamp(38px,6vw,78px);
  font-weight:950;
  letter-spacing:0;
  line-height:1;
  text-transform:uppercase;
  text-align:center;
}
.module-host-subtitle{
  margin-top:12px;
  color:#64748b;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}
.module-host-grid{
  transform:none!important;
  width:min(760px,80vw)!important;
  grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  gap:16px!important;
}
.module-host-module{
  min-height:54px!important;
  height:auto!important;
  border-radius:12px!important;
  font-weight:850!important;
}
.module-host-soc-card{
  flex-direction:column!important;
  min-height:110px!important;
  gap:10px!important;
  padding:16px 12px!important;
}
.module-host-drh .module-host-module:hover{border-color:#0f766e!important}
.module-host-ops .module-host-module:hover{border-color:#1d4ed8!important}
.module-host-materiel .module-host-module:hover{border-color:#b45309!important}
@media(max-width:640px){
  .module-host-grid{width:min(360px,86vw)!important;grid-template-columns:1fr!important}
  .module-host-brand{font-size:38px}
  .module-host-subtitle{font-size:11px}
}

/* ── ATLAS AI Widget ─────────────────────────────────────────────────────── */
#atlas-ai-widget{position:fixed;bottom:24px;right:24px;z-index:9999;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.ai-fab{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,99,235,.45);transition:transform .2s,box-shadow .2s;color:#fff;font-size:22px}
.ai-fab:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,99,235,.55)}
.ai-fab .ai-fab-notif{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff;display:none}
.ai-fab .ai-fab-notif.visible{display:block}
.ai-panel{position:fixed;bottom:90px;right:24px;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 120px);background:#fff;border-radius:16px;box-shadow:0 8px 40px rgba(15,23,42,.18);display:flex;flex-direction:column;overflow:hidden;animation:aiSlideIn .25s ease}
@keyframes aiSlideIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.ai-panel-head{background:linear-gradient(135deg,#2563eb,#7c3aed);padding:14px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.ai-panel-head-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.ai-panel-head-info{flex:1;min-width:0}
.ai-panel-head-name{color:#fff;font-weight:800;font-size:14px}
.ai-panel-head-status{color:rgba(255,255,255,.75);font-size:11px}
.ai-panel-close{background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;font-size:20px;padding:4px;border-radius:6px;line-height:1}
.ai-panel-close:hover{background:rgba(255,255,255,.15);color:#fff}
.ai-panel-voice{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;cursor:pointer}
.ai-panel-voice:hover{background:rgba(255,255,255,.22)}
.ai-panel-voice-toggle{min-width:68px}
.ai-panel-voice-toggle.is-off{background:rgba(15,23,42,.28);border-color:rgba(255,255,255,.24);color:rgba(255,255,255,.72)}
.ai-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.ai-messages::-webkit-scrollbar{width:4px}
.ai-messages::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}
.ai-msg{max-width:82%;padding:10px 13px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.ai-msg-user{align-self:flex-end;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-bottom-right-radius:4px}
.ai-msg-ai{align-self:flex-start;background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}
.ai-msg-ai.ai-typing{color:#94a3b8;font-style:italic}
.ai-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.ai-suggestion{padding:5px 11px;border-radius:20px;border:1.5px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}
.ai-suggestion:hover{background:#dbeafe}
.ai-input-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #f1f5f9;flex-shrink:0}
.ai-input{flex:1;border:1.5px solid #e2e8f0;border-radius:22px;padding:8px 14px;font-size:13px;outline:none;resize:none;font-family:inherit;transition:border-color .15s;min-height:38px;max-height:100px}
.ai-input:focus{border-color:#6366f1}
.ai-send{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;transition:opacity .15s}
.ai-send:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:480px){.ai-panel{width:calc(100vw - 16px);right:8px;bottom:80px}}

/* Site creation must start at the left edge of the central workspace. */
#view.site-create-view{
  padding-left:0!important;
  padding-right:4px!important;
}
#view.site-create-view > .w-full,
#view.site-create-view [data-site-create-form],
#view.site-create-view #site-form{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  align-items:stretch!important;
}
#view.site-create-view [data-site-create-form] > .card,
#view.site-create-view #site-form > .card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-self:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
#view.site-create-view .site-position-box{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 16px;
  border-radius:8px;
  border:1px solid #dbe3ef;
  background:#f8fafc;
}
#view.site-create-view .site-position-header{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
#view.site-create-view .site-position-box.missing-position{
  border-color:#fed7aa;
  background:#fff7ed;
}
#view.site-create-view .site-position-box.has-position{
  border-color:#bbf7d0;
  background:#f0fdf4;
}
#view.site-create-view .site-position-copy{
  min-width:0;
}
#view.site-create-view .site-position-kicker{
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#64748b;
  margin-bottom:5px;
}
#view.site-create-view .site-position-value{
  font-size:15px;
  line-height:1.25;
  font-weight:950;
  color:#0f172a;
}
#view.site-create-view .site-position-box.missing-position .site-position-value{
  color:#9a3412;
}
#view.site-create-view .site-position-box.has-position .site-position-value{
  color:#047857;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
#view.site-create-view .site-position-note{
  margin-top:4px;
  font-size:11px;
  font-weight:700;
  color:#64748b;
}
#view.site-create-view .site-position-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
#view.site-create-view .site-position-action{
  min-width:150px;
  height:40px;
  justify-content:center;
}
#view.site-create-view .site-position-save{
  min-width:170px;
  height:40px;
  justify-content:center;
}
#view.site-create-view .site-position-inline-wrap{
  width:100%;
  height:360px;
  overflow:hidden;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#e2e8f0;
}
#view.site-create-view .site-position-inline-map{
  min-height:360px;
  height:360px;
}
@media(max-width:760px){
  #view.site-create-view .site-position-header{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
  }
  #view.site-create-view .site-position-action{
    width:100%;
  }
  #view.site-create-view .site-position-actions,
  #view.site-create-view .site-position-save{
    width:100%;
  }
  #view.site-create-view .site-position-inline-wrap,
  #view.site-create-view .site-position-inline-map{
    height:300px;
    min-height:300px;
  }
}

/* =============================================================
   SGDI UI polish — calmer la densité sans changer les données
   ============================================================= */
.module-counters-ribbon,
.drh-workforce-ribbon{
  min-height:88px!important;
  height:auto!important;
  grid-auto-columns:minmax(160px,1fr)!important;
  gap:8px!important;
  padding:10px 14px!important;
  background:#f1f5f9!important;
  border-bottom:1px solid #e2e8f0!important;
  box-shadow:none!important;
}
.module-counters-ribbon .module-counter-item,
.drh-workforce-ribbon .drh-workforce-item{
  min-height:68px!important;
  height:auto!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid #e8edf3!important;
  border-left:1px solid #e8edf3!important;
  box-shadow:0 1px 4px rgba(15,23,42,.07)!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
  overflow:visible!important;
}
.module-counters-ribbon .module-counter-item:hover,
.drh-workforce-ribbon .drh-workforce-item:hover{
  border-color:#cbd5e1!important;
  box-shadow:0 4px 14px rgba(15,23,42,.11)!important;
}
.module-counter-label,
.drh-workforce-label{
  font-size:10px!important;
  font-weight:700!important;
  color:#64748b!important;
  white-space:normal!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
.module-counter-value,
.drh-workforce-value{
  font-size:20px!important;
  font-weight:850!important;
  color:#0f172a!important;
  line-height:1.1!important;
  grid-row:auto!important;
  grid-column:auto!important;
}
.module-counter-pct,
.drh-workforce-pct{
  font-size:10px!important;
  font-weight:700!important;
  color:var(--drh-color)!important;
  white-space:nowrap!important;
  line-height:1.1!important;
}
.module-counter-item.is-zero,
.drh-workforce-item.is-zero{
  --drh-color:#cbd5e1!important;
  background:#fbfcfe!important;
  opacity:1;
}
.module-counter-item.is-zero .module-counter-value,
.drh-workforce-item.is-zero .drh-workforce-value{
  color:#94a3b8!important;
}
#view .card{
  border-color:#dbe3ef!important;
  border-radius:8px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.035)!important;
}
#view .card:hover{
  box-shadow:0 5px 16px rgba(15,23,42,.055)!important;
}
#view .card.kpi-clickable,
#view .dash-kpi,
#view .kpi.kpi-clickable{
  min-height:90px!important;
  height:90px!important;
  padding:14px 16px!important;
  border-radius:8px!important;
}
#view .card.kpi-clickable .text-4xl,
#view .card.kpi-clickable .text-3xl,
#view .card.kpi-clickable .text-2xl,
#view .dash-kpi .value,
#view .kpi.kpi-clickable .kpi-value{
  font-size:23px!important;
}
#view [style*="background:#fef2f2"],
#view [style*="background: #fef2f2"],
#view .dash-alert.danger,
#view .notification-item.alert-critical,
#view .notification-item.alert-danger{
  background:#fff7f7!important;
}
#view [style*="border:2px solid #dc2626"],
#view [style*="border-2 border-red-500"]{
  border-width:1px!important;
}
.admin-access-card{
  max-height:calc(100vh - 255px);
}
.admin-access-table thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#e5e7eb!important;
  border-bottom:1px solid #cbd5e1;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.05em;
}
.admin-access-table tbody tr:hover{
  background:#f8fbff;
}
.admin-access-module-cell{
  min-width:300px;
}
.admin-access-module-label{
  display:block;
  color:#082f63;
  font-weight:900;
  text-align:left;
  line-height:1.15;
}
.admin-access-module-label:hover{
  text-decoration:underline;
}
.admin-access-module-meta{
  margin-top:3px;
  color:#64748b;
  font-size:11px;
  line-height:1.15;
  font-weight:700;
}
.admin-access-table input[type="checkbox"]{
  accent-color:#0f6fd8;
}
@media(max-width:760px){
  .module-counters-ribbon,
  .drh-workforce-ribbon{
    height:52px!important;
    min-height:52px!important;
    grid-auto-columns:minmax(136px,46vw)!important;
    padding:5px 6px!important;
  }
  .module-counters-ribbon .module-counter-item,
  .drh-workforce-ribbon .drh-workforce-item{
    height:42px!important;
    min-height:42px!important;
    padding:5px 7px!important;
  }
}

/* ----- FINAL TOP COUNTERS FIX: no clipped labels/values ----- */
.module-counters-ribbon,
.drh-workforce-ribbon{
  height:66px!important;
  min-height:66px!important;
  padding:7px 8px!important;
  gap:8px!important;
  align-items:center!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.module-counters-ribbon .module-counter-item,
.drh-workforce-ribbon .drh-workforce-item{
  height:52px!important;
  min-height:52px!important;
  padding:7px 10px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:13px 21px 12px!important;
  align-content:center!important;
  row-gap:0!important;
  overflow:hidden!important;
}
.module-counter-label,
.drh-workforce-label{
  font-size:9.7px!important;
  line-height:12px!important;
  white-space:normal!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.module-counter-value,
.drh-workforce-value{
  grid-row:auto!important;
  grid-column:auto!important;
  font-size:21px!important;
  line-height:21px!important;
  margin:0!important;
}
.module-counter-pct,
.drh-workforce-pct{
  font-size:9.5px!important;
  line-height:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  .module-counters-ribbon,
  .drh-workforce-ribbon{
    height:58px!important;
    min-height:58px!important;
    grid-auto-columns:minmax(138px,46vw)!important;
  }
  .module-counters-ribbon .module-counter-item,
  .drh-workforce-ribbon .drh-workforce-item{
    height:46px!important;
    min-height:46px!important;
  }
}

/* ----- OPS EFFECTIF COMPACT HEADER/FILTERS ----- */
.ops-effectif-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.ops-effectif-hero{
  margin-bottom:10px!important;
  padding:14px 16px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px;
  width:100%!important;
}
.ops-effectif-title-block{
  flex:1 1 auto;
  min-width:260px;
}
.ops-effectif-title-block h1{
  font-size:24px!important;
  line-height:1.05!important;
  font-weight:950!important;
  margin:0!important;
}
.ops-effectif-title-block p{
  margin-top:5px;
  color:#64748b;
  font-size:12px;
}
.ops-effectif-tools{
  flex:0 1 640px;
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(210px,260px);
  gap:12px;
  align-items:end;
}
.ops-effectif-tools label{
  display:grid;
  gap:4px;
  font-size:11px;
  font-weight:850;
  color:#64748b;
}
.ops-effectif-filter-card{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-bottom:10px!important;
  padding:12px 16px!important;
  background:#fbfdff!important;
}
.ops-effectif-filter-main{
  display:grid;
  grid-template-columns:minmax(260px,1.25fr) minmax(230px,1.1fr) minmax(230px,1fr) auto;
  gap:12px;
  align-items:end;
}
.ops-effectif-filter-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
  white-space:nowrap;
}
.ops-effectif-result-count{
  margin-top:6px;
  color:#64748b;
  font-size:11px;
  font-weight:750;
}
.ops-effectif-advanced{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #e2e8f0;
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:10px;
}
.ops-effectif-page .effectif-table-card{
  margin-top:0!important;
}
@media(max-width:1120px){
  .ops-effectif-hero{
    flex-direction:column;
    align-items:stretch!important;
  }
  .ops-effectif-filter-main{
    grid-template-columns:1fr;
  }
  .ops-effectif-tools{
    grid-template-columns:1fr;
  }
  .ops-effectif-filter-actions{
    justify-content:flex-start;
  }
  .ops-effectif-advanced{
    grid-template-columns:repeat(2,minmax(140px,1fr));
  }
}
@media(max-width:720px){
  .ops-effectif-hero{
    padding:12px!important;
  }
  .ops-effectif-title-block h1{
    font-size:21px!important;
  }
  .ops-effectif-advanced{
    grid-template-columns:1fr;
  }
}

/* Clean back controls */
.sgdi-topbar .topbar-back-btn,
.sgdi-topbar .topbar-back-btn:hover,
.sgdi-topbar .topbar-back-btn:focus,
.sgdi-topbar .topbar-back-btn:active,
.sidebar-back .btn,
.sidebar-back .btn:hover,
.sidebar-back .btn:focus,
.sidebar-back .btn:active{
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#eaf3ff!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1!important;
  text-indent:0!important;
  overflow:hidden!important;
}
.sgdi-topbar .topbar-back-btn::before,
.sidebar-back .btn::before{
  content:none!important;
  display:none!important;
}
.sgdi-topbar .topbar-back-btn:hover,
.sgdi-topbar .topbar-back-btn:focus,
.sidebar-back .btn:hover,
.sidebar-back .btn:focus{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
.sidebar-back{
  margin:0!important;
  padding:8px 12px 10px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
.sidebar-back .btn{
  margin:0!important;
}

/* Stable top company strip */
.sgdi-shell > .sgdi-topbar{
  display:grid!important;
  grid-template-columns:minmax(420px,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  min-height:40px!important;
  padding:0 24px 0 10px!important;
  overflow:hidden!important;
}
.sgdi-topbar-left,
.sgdi-topbar-left-module{
  min-width:0!important;
  max-width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  overflow:hidden!important;
}
.sgdi-topbar-left .text-slate-500,
.sgdi-topbar-left .text-slate-400{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.sgdi-topbar-title-right,
.sgdi-topbar-module-title,
.sgdi-topbar-module-title-active{
  min-width:0!important;
  justify-self:end!important;
  text-align:right!important;
  white-space:nowrap!important;
}
.sgdi-topbar .topbar-back-btn,
.sgdi-topbar .topbar-back-btn:hover,
.sgdi-topbar .topbar-back-btn:focus,
.sgdi-topbar .topbar-back-btn:active{
  flex:0 0 36px!important;
}

.sidebar-return-button,
.sidebar-return-button:hover,
.sidebar-return-button:focus,
.sidebar-return-button:active{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:0 12px!important;
  border:1px solid #cbd5e1!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#0f2d5a!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  cursor:pointer!important;
}
.sidebar-return-button span:first-child{
  width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:17px!important;
  line-height:1!important;
}
.sidebar-return-button:hover,
.sidebar-return-button:focus{
  background:rgba(37,99,235,.07)!important;
  border-color:#93c5fd!important;
  color:#1d4ed8!important;
}

/* Recruitment counters alignment */
.recruitment-stats-grid{
  align-items:stretch!important;
}
.recruitment-stats-grid > .recruitment-stable-kpi,
.recruitment-stats-grid > .card.recruitment-stable-kpi{
  height:112px!important;
  min-height:112px!important;
  display:grid!important;
  grid-template-rows:18px 1fr 18px!important;
  align-items:center!important;
  justify-content:stretch!important;
  padding:16px 18px!important;
}
.recruitment-stats-grid > .recruitment-stable-kpi .text-xs:first-child{
  align-self:start!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.recruitment-stats-grid > .recruitment-stable-kpi .text-3xl,
.recruitment-stats-grid > .recruitment-stable-kpi .text-xl.font-bold,
.recruitment-stats-grid > .recruitment-stable-kpi .text-sm.font-bold{
  align-self:center!important;
  margin-top:0!important;
  line-height:1.05!important;
}
.recruitment-stats-grid > .recruitment-stable-kpi .text-\[11px\],
.recruitment-stats-grid > .recruitment-stable-kpi .text-slate-400{
  align-self:end!important;
  line-height:1.15!important;
  min-height:14px!important;
}

/* ── Articles à doter – ligne compacte ── */
.dotation-row-grid{
  display:grid;
  grid-template-columns:minmax(130px,1.4fr) minmax(150px,2fr) 68px minmax(110px,1fr) 96px minmax(120px,1.2fr) 36px;
  gap:6px;
  align-items:start;
  padding:6px 8px;
  min-width:820px;
}
.dotation-row-header{
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:8px 8px 0 0;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#64748b;
  padding:7px 8px;
}
.dotation-line{
  border:1px solid #e2e8f0;
  border-top:none;
  background:#fff;
  transition:background .12s;
}
.dotation-line:last-child{border-radius:0 0 8px 8px}
.dotation-line:hover{background:#f8fafc}
.dotation-cell{display:flex;flex-direction:column}
.dotation-cell-action{display:flex;align-items:center;justify-content:center;padding-top:2px}
.select-sm{padding:5px 8px!important;font-size:13px!important;height:auto!important}
input.select-sm{padding:5px 8px!important;font-size:13px!important}

/* Pointage dashboard: make the daily sheet call-to-action visibly blinking */
.pointage-daily-blink-btn{
  position:relative!important;
  overflow:visible!important;
  animation:pointageDailyStrongBlink .72s ease-in-out infinite!important;
  border:2px solid #0284c7!important;
  background:#e0f2fe!important;
  color:#043970!important;
}
.pointage-daily-blink-btn::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#16a34a;
  box-shadow:0 0 0 0 rgba(22,163,74,.42);
  animation:pointageDailyDotPulse .72s ease-in-out infinite;
}
@keyframes pointageDailyStrongBlink{
  0%,100%{
    background:#e0f2fe!important;
    color:#043970!important;
    transform:translateY(0) scale(1);
    box-shadow:0 0 0 0 rgba(14,165,233,.30),0 6px 14px rgba(15,23,42,.12);
  }
  50%{
    background:#0284c7!important;
    color:#fff!important;
    transform:translateY(-1px) scale(1.035);
    box-shadow:0 0 0 7px rgba(14,165,233,.16),0 10px 22px rgba(4,57,112,.25);
  }
}
@keyframes pointageDailyDotPulse{
  0%,100%{background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.42)}
  50%{background:#facc15;box-shadow:0 0 0 5px rgba(250,204,21,.22)}
}

/* Pointage mensuel: colonnes de synthèse équilibrées */
.pointage-month-grid .pt-summary-cell{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  box-sizing:border-box!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
  white-space:nowrap!important;
}

/* Mouvement — liste agents : hover géré par CSS pour éviter le layout thrashing au scroll */
.ops-mvt-agent-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;cursor:pointer;}
.ops-mvt-agent-row:hover{background:#f8fafc;}

/* ----- PILL BUTTON UNIVERSAL OVERRIDE ----- */
.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-success,.btn-danger,.btn-warn,
button.btn,a.btn{
  border-radius:999px!important;
}
.btn:not(.btn-danger):not(.btn-ghost):not(.btn-secondary):not(.btn-success):not(.btn-warn):not(.topbar-notification-btn):not(.topbar-dialogue-btn):not(.topbar-structure-btn):not(.topbar-back-btn):not(.sidebar-return-button):not(.rh-op-add-line){
  border-left-width:1px!important;
}

/* ── Page tabs bar ── */
.page-tabs-bar{
  display:flex;align-items:center;gap:0;
  background:#f1f5f9;border-bottom:1px solid #e2e8f0;
  padding:0 8px;overflow-x:auto;flex-shrink:0;height:34px;
  scrollbar-width:none;
}
.page-tabs-bar::-webkit-scrollbar{display:none}
.ptab{
  display:flex;align-items:center;gap:6px;
  padding:0 14px;height:34px;
  font-size:12px;font-weight:600;color:#475569;
  background:none;border:none;border-bottom:2px solid transparent;
  cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s,background .15s;
  border-radius:0;position:relative;flex-shrink:0;
}
.ptab:hover{background:#e2e8f0;color:#0f172a}
.ptab--active{
  color:#1d4ed8;border-bottom:2px solid #1d4ed8;
  background:#fff;font-weight:700;
}
.ptab-x{
  font-size:10px;color:#94a3b8;padding:1px 3px;border-radius:3px;
  line-height:1;transition:background .1s,color .1s;
}
.ptab-x:hover{background:#fecaca;color:#dc2626}
.ptab-add{
  padding:0 10px;height:34px;font-size:16px;font-weight:300;
  color:#94a3b8;background:none;border:none;cursor:pointer;
  border-radius:0;flex-shrink:0;transition:color .15s;
}
.ptab-add:hover{color:#043970;background:#e2e8f0}

/* ── View-mode lock ─────────────────────────────────────── */
body.sgdi-view-mode #view input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([data-no-lock]):not([readonly]),
body.sgdi-view-mode #view select:not([data-no-lock]),
body.sgdi-view-mode #view textarea:not([data-no-lock]){
  pointer-events:none!important;
  background:#f8fafc!important;
  border-color:#e2e8f0!important;
  color:#374151!important;
  cursor:default!important;
  box-shadow:none!important;
  user-select:none!important;
}

/* ── Edit FAB ───────────────────────────────────────────── */
#sgdi-edit-fab{
  position:fixed;bottom:80px;right:20px;z-index:300;
  background:#043970;color:#fff;border:none;border-radius:999px;
  padding:0 18px 0 13px;height:42px;font-size:13px;font-weight:700;
  cursor:pointer;box-shadow:0 4px 16px rgba(4,57,112,.38);
  display:none;align-items:center;gap:8px;transition:background .15s,transform .1s;
  white-space:nowrap;
}
#sgdi-edit-fab.visible{display:flex}
#sgdi-edit-fab:hover{background:#062d5a;transform:translateY(-1px)}
#sgdi-edit-fab.unlocked{background:#16a34a;box-shadow:0 4px 16px rgba(22,163,74,.35)}
#sgdi-edit-fab.unlocked:hover{background:#15803d}

/* Assistant de dotation groupée */
.modal:has(.bulk-dot-wizard){width:min(1080px,94vw)!important;max-width:1080px!important;padding:0!important;overflow:hidden!important}
.bulk-dot-wizard{background:#fff;color:#172033;max-height:min(84vh,820px);display:flex;flex-direction:column}
.bulk-dot-head{padding:20px 24px 14px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e5ebf1}
.bulk-dot-head h3{font-size:21px;font-weight:950;margin:3px 0 0}.bulk-dot-close{width:34px;height:34px;border:0;border-radius:50%;background:#f1f5f9;color:#475569;font-size:23px;cursor:pointer}
.bulk-dot-steps{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 24px;background:#f8fafc;border-bottom:1px solid #e5ebf1}
.bulk-dot-steps>div{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:12px;font-weight:800;position:relative}.bulk-dot-steps>div:not(:last-child)::after{content:"";height:1px;background:#dbe3ec;position:absolute;left:40px;right:12px;bottom:-7px}
.bulk-dot-steps span{width:25px;height:25px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#64748b}.bulk-dot-steps .active{color:#043970}.bulk-dot-steps .active span{background:#043970;color:#fff}.bulk-dot-steps .done{color:#047857}.bulk-dot-steps .done span{background:#16a34a;color:#fff}
.bulk-dot-toolbar{padding:12px 24px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.bulk-dot-toolbar>div{margin-right:auto;font-size:13px}.bulk-dot-toolbar .input{width:240px;height:36px!important}
.bulk-dot-employee-picker{padding:14px 24px 0;display:grid;grid-template-columns:220px minmax(280px,1fr);gap:12px;align-items:center}.bulk-dot-employee-picker label{font-size:12px;font-weight:900;color:#334155}.bulk-dot-employee-picker .select{height:38px!important;background:#fff!important}
.bulk-dot-table{margin:0 24px;border:1px solid #e1e8ef;border-radius:10px;overflow:auto;max-height:430px}.bulk-dot-table table{margin:0}.bulk-dot-table th{position:sticky;top:0;z-index:1;background:#f3f6f9!important;color:#526277!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.06em}.bulk-dot-table td{padding:9px 11px!important;font-size:12px}.bulk-dot-table td small{display:block;color:#8492a6;margin-top:2px}.bulk-dot-table input[type="checkbox"]{width:16px;height:16px}.bulk-dot-table .input,.bulk-dot-table .select{height:34px!important;font-size:12px!important}.bulk-dot-table td:nth-last-child(-n+2) .input{min-width:78px}
.bulk-dot-notice,.bulk-dot-confirm{margin:16px 24px 12px;padding:12px 14px;border-radius:9px;background:#eff6ff;color:#1e3a5f;font-size:13px;border:1px solid #dbeafe}.bulk-dot-form{padding:14px 24px 0;display:grid;grid-template-columns:1fr 2fr;gap:12px}.bulk-dot-form label{display:block;font-size:11px;font-weight:800;color:#64748b;margin-bottom:5px}
.bulk-dot-actions{padding:16px 24px 20px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #edf1f5;margin-top:16px}.bulk-dot-actions .btn[disabled]{opacity:.45;cursor:not-allowed}
.bulk-dot-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 24px 12px}.bulk-dot-summary>div{background:#f8fafc;border:1px solid #e3e9ef;border-radius:9px;padding:11px}.bulk-dot-summary span{display:block;color:#718096;font-size:10px;text-transform:uppercase;font-weight:800}.bulk-dot-summary strong{font-size:18px;color:#0f294d}
.bulk-dot-alert{margin:12px 24px 0;padding:11px 14px;border-radius:8px;font-size:12px}.bulk-dot-alert.danger{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.bulk-dot-alert.warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.bulk-dot-progress{margin:12px 24px}.bulk-dot-progress>div:last-child{height:7px;border-radius:99px;background:#e2e8f0;overflow:hidden;margin-top:6px}.bulk-dot-progress span{display:block;height:100%;width:0;background:#16a34a;transition:width .2s}
@media(max-width:760px){.bulk-dot-summary{grid-template-columns:1fr 1fr}.bulk-dot-form,.bulk-dot-employee-picker{grid-template-columns:1fr}.bulk-dot-toolbar .input{width:100%}.bulk-dot-steps{padding-inline:14px}.bulk-dot-steps>div{font-size:10px}.bulk-dot-table{margin-inline:12px}.bulk-dot-actions{padding-inline:12px}}

/* Fiches de position : sélecteur mosaïque/liste isolé des styles globaux */
#view .fp-filter-footer .fp-display-controls{
  flex:0 0 auto;
  flex-wrap:nowrap;
}
#view .fp-filter-footer .fp-layout-switch{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  height:36px!important;
  padding:3px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:3px!important;
  flex:0 0 76px!important;
  border:1px solid #d7e0ea!important;
  border-radius:10px!important;
  background:#fff!important;
}
#view .fp-filter-footer .fp-layout-switch button{
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:28px!important;
  min-height:28px!important;
  margin:0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#718096!important;
  box-shadow:none!important;
}
#view .fp-filter-footer .fp-layout-switch button.active{
  background:#e7f0f9!important;
  color:#073d77!important;
}
#view .fp-filter-footer .fp-layout-switch button:hover{
  background:#f0f4f8!important;
  color:#073d77!important;
}
#view .fp-filter-footer .fp-layout-switch svg{
  width:17px!important;
  height:17px!important;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#view .fp-filter-footer .fp-layout-switch svg rect{
  fill:currentColor;
  stroke:none;
}
#view .fp-filter-footer .fp-reset-btn{
  width:auto!important;
  min-width:118px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* ── Nav-guard dialog ───────────────────────────────────── */
#sgdi-nav-guard{
  position:fixed;inset:0;z-index:9995;display:flex;
  align-items:center;justify-content:center;
  background:rgba(15,23,42,.45);
}
.sgdi-nav-guard-box{
  background:#fff;border-radius:16px;
  box-shadow:0 16px 48px rgba(0,0,0,.22);
  padding:28px 32px;min-width:320px;max-width:440px;
  display:flex;flex-direction:column;gap:18px;
}
.sgdi-nav-guard-title{font-size:16px;font-weight:800;color:#0f172a}
.sgdi-nav-guard-msg{font-size:14px;color:#475569;line-height:1.5}
.sgdi-nav-guard-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* ── Sidebar masquable ─────────────────────────────────── */
.sgdi-sidebar-toggle{
  width:38px!important;
  min-width:38px!important;
  height:34px!important;
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:none!important;
  cursor:pointer!important;
  font-size:20px!important;
  font-weight:950!important;
  line-height:1!important;
  padding:0!important;
}
.sgdi-sidebar-toggle:hover,
.sgdi-sidebar-toggle.is-collapsed{
  background:#124f8f!important;
  border-color:#7fb5ee!important;
  color:#fff!important;
}
.sgdi-shell.sgdi-sidebar-collapsed .sidebar{
  display:none!important;
}
.sgdi-shell.sgdi-sidebar-collapsed .sgdi-shell-body{
  grid-template-columns:1fr!important;
}
.sgdi-shell.sgdi-sidebar-collapsed #view{
  width:100%!important;
  max-width:none!important;
}
@media(max-width:760px){
  .sgdi-sidebar-toggle{
    width:34px!important;
    min-width:34px!important;
    height:30px!important;
    min-height:30px!important;
    font-size:18px!important;
  }
}

/* ── Responsive smartphone : tiroir latéral + contenus tactiles ── */
@media(max-width:767px){
  html,body,#app{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body{font-size:13px!important}
  .sgdi-shell{height:100svh!important;max-width:100vw!important;overflow:hidden!important}
  .sgdi-shell-body{position:relative!important;display:block!important;width:100%!important;min-width:0!important;overflow:hidden!important}
  .sgdi-shell .sidebar,
  .sgdi-shell.sgdi-sidebar-collapsed .sidebar{
    display:flex!important;
    position:fixed!important;
    z-index:10050!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(86vw,320px)!important;
    min-width:0!important;
    max-width:min(86vw,320px)!important;
    height:100svh!important;
    flex-basis:auto!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    box-shadow:18px 0 42px rgba(15,23,42,.26)!important;
  }
  .sgdi-shell.sgdi-mobile-sidebar-open .sidebar{transform:translateX(0)!important}
  .sgdi-sidebar-backdrop{
    display:none!important;
    position:fixed!important;
    inset:0!important;
    z-index:10040!important;
    border:0!important;
    background:rgba(15,23,42,.42)!important;
    padding:0!important;
    margin:0!important;
    cursor:pointer!important;
  }
  .sgdi-shell.sgdi-mobile-sidebar-open .sgdi-sidebar-backdrop{display:block!important}
  .sgdi-shell.sgdi-mobile-sidebar-open main{pointer-events:none!important}
  .sgdi-shell.sgdi-mobile-sidebar-open .sidebar{pointer-events:auto!important}
  .sidebar nav{padding:12px 10px 10px!important}
  .nav-link,.sub-link,.nav-group{
    min-height:46px!important;
    height:46px!important;
    max-height:none!important;
    padding:12px 14px!important;
    font-size:12px!important;
    touch-action:manipulation!important;
  }
  .sidebar-user-identity{padding-top:18px!important;padding-bottom:14px!important}
  .sidebar-profile-mark{width:84px!important;height:84px!important}
  .sidebar-atlas-brand,.sidebar-current-user-name{font-size:26px!important;text-align:center!important}
  main{width:100%!important;max-width:100vw!important;min-width:0!important;overflow:hidden!important}
  .sgdi-view{
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    padding:8px 8px 18px!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .sgdi-topbar{position:sticky!important;top:0!important;z-index:1000!important}
  .sgdi-topbar-left .topbar-back-btn{min-width:76px!important;max-width:92px!important}
  .sgdi-topbar-title-right{width:100%!important;text-align:left!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .module-counters-ribbon,.drh-workforce-ribbon{
    position:relative!important;
    z-index:20!important;
    grid-auto-columns:minmax(132px,46vw)!important;
    scrollbar-width:none!important;
  }
  .module-counters-ribbon::-webkit-scrollbar,.drh-workforce-ribbon::-webkit-scrollbar{display:none!important}
  .card{border-radius:12px!important}
  .grid,.grid-2,.grid-3,.grid-4,.grid-5,.grid-6,.grid-7,
  .grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5,.grid-cols-6,
  .dashboard-compact-band-grid,.dash-kpi-grid,.dash-module-grid,.mat-kpi-grid,.mat-panel-grid{
    grid-template-columns:1fr!important;
  }
  form .grid, .modal .grid, .card .grid{grid-template-columns:1fr!important}
  .flex.items-center.justify-between,
  .module-page-header,
  .module-page-header-actions{
    flex-wrap:wrap!important;
  }
  .btn,button,.input,.select,textarea{
    min-height:44px!important;
    font-size:14px!important;
  }
  .btn,button{touch-action:manipulation!important}
  .input,.select,textarea{width:100%!important;max-width:100%!important}
  .card.overflow-hidden,
  .table-wrap,
  .overflow-x-auto,
  #view table{
    max-width:100%!important;
  }
  .card.overflow-hidden,
  .table-wrap,
  .overflow-x-auto{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  table{
    min-width:720px!important;
    width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
  th,td{
    padding:8px!important;
    font-size:11px!important;
    vertical-align:middle!important;
  }
  .modal-bg{padding:8px!important;align-items:flex-start!important;overflow:auto!important}
  .modal{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100svh - 16px)!important;
    overflow:auto!important;
    padding:16px!important;
  }
  .dialogue-panel,.notification-panel{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    height:calc(100svh - 16px)!important;
    max-height:calc(100svh - 16px)!important;
  }
  .dialogue-layout{grid-template-columns:1fr!important}
  .dialogue-users{max-height:170px!important;overflow:auto!important}

  /* Gestion des effectifs : vraie lecture mobile, pas tableau écrasé */
  .effectif-page{
    width:100%!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  .drh-effectif-list-header,
  .ops-effectif-hero{
    display:block!important;
    padding:12px!important;
    margin-bottom:10px!important;
  }
  .effectif-page-title{
    font-size:22px!important;
    line-height:1.15!important;
    margin-bottom:4px!important;
  }
  .drh-effectif-search-slot,
  .drh-effectif-sort-slot,
  .ops-effectif-tools{
    width:100%!important;
    margin-top:10px!important;
  }
  .drh-effectif-sort-slot{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:center!important;
  }
  .drh-effectif-sort-slot .select,
  .ops-effectif-tools .select,
  .ops-effectif-tools .input{
    width:100%!important;
    max-width:none!important;
  }
  .drh-effectif-actions-bar{
    gap:6px!important;
    padding:2px 0 8px!important;
    margin-bottom:8px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .drh-effectif-actions-bar::-webkit-scrollbar{display:none!important}
  .drh-effectif-action-btn{
    height:34px!important;
    min-height:34px!important;
    min-width:96px!important;
    max-width:138px!important;
    border-radius:10px!important;
    padding:0 10px!important;
    font-size:10px!important;
    line-height:1.05!important;
    white-space:normal!important;
    text-align:center!important;
    flex:0 0 auto!important;
  }
  #view .effectif-table-card,
  #view .effectif-table-card.card{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  #view .effectif-table,
  #view .effectif-table tbody,
  #view .effectif-table tr,
  #view .effectif-table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  #view .effectif-table{
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:transparent!important;
    white-space:normal!important;
  }
  #view .effectif-table colgroup,
  #view .effectif-table thead{
    display:none!important;
  }
  #view .effectif-table tbody{
    display:grid!important;
    gap:10px!important;
  }
  #view .effectif-table tr{
    position:relative!important;
    border:1px solid #dbe3ef!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  #view .effectif-table td{
    border:0!important;
    padding:6px 0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:12px!important;
    line-height:1.25!important;
    text-align:left!important;
  }
  #view .effectif-table td:not(.effectif-agent-cell):not(.effectif-status-cell):not(.effectif-open-cell):not(.effectif-select-cell){
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
    border-top:1px solid #f1f5f9!important;
  }
  #view .effectif-table td:not(.effectif-agent-cell):not(.effectif-status-cell):not(.effectif-open-cell):not(.effectif-select-cell)::before{
    content:attr(data-label);
    color:#64748b!important;
    font-size:10px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
  }
  #view .effectif-table .effectif-agent-cell{
    padding:0 0 9px!important;
    border-bottom:1px solid #e8edf5!important;
  }
  #view .effectif-table .effectif-agent-cell .avatar{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    font-size:14px!important;
  }
  #view .effectif-table .effectif-agent-cell .font-semibold{
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:950!important;
    color:#172033!important;
  }
  #view .effectif-table .effectif-status-cell,
  #view .effectif-table .effectif-open-cell{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding-top:10px!important;
    text-align:left!important;
  }
  #view .effectif-table .effectif-status-cell{
    position:absolute!important;
    top:10px!important;
    right:12px!important;
    width:auto!important;
    padding:0!important;
  }
  #view .effectif-table .effectif-status-cell::before{display:none!important}
  #view .effectif-table .effectif-status-cell .pill{
    width:auto!important;
    min-width:74px!important;
    max-width:none!important;
    height:30px!important;
    font-size:11px!important;
    padding:0 12px!important;
  }
  #view .effectif-table .effectif-row-actions{
    justify-content:stretch!important;
    gap:8px!important;
    width:100%!important;
  }
  #view .effectif-table .effectif-open-btn,
  #view .effectif-table td .effectif-open-btn{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:1 1 auto!important;
    height:42px!important;
    font-size:13px!important;
    border-radius:12px!important;
  }
  #view .effectif-table .effectif-row-actions button{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:42px!important;
    border-radius:12px!important;
  }
}

@media(max-width:420px){
  .sgdi-shell .sidebar,
  .sgdi-shell.sgdi-sidebar-collapsed .sidebar{
    width:min(90vw,300px)!important;
    max-width:min(90vw,300px)!important;
  }
  .module-counters-ribbon,.drh-workforce-ribbon{grid-auto-columns:minmax(128px,76vw)!important}
  .sgdi-view{padding-left:6px!important;padding-right:6px!important}
  table{min-width:680px!important}
}

/* Titres cliquables à la place des gros boutons */
#view .contract-title-actions{
  gap:18px!important;
}
#view .contract-title-actions .contract-title-link{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0 4px!important;
  margin:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  border-radius:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  color:#011b3f!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:950!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
#view .contract-title-actions .contract-title-link:hover{
  color:#043970!important;
  text-decoration:underline!important;
  text-underline-offset:5px!important;
}

.docs-archive-group{
  overflow:hidden;
}
.docs-archive-search-card{
  padding:14px 16px!important;
}
.docs-archive-search-label{
  display:block;
  margin:0 0 7px;
  color:#64748b;
  font-size:11px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.docs-archive-search-box{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  border:1px solid #d6e1ef;
  border-radius:12px;
  background:#f8fbff;
  padding:0 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.docs-archive-search-box:focus-within{
  border-color:#2b6cb0;
  background:#fff;
  box-shadow:0 0 0 3px rgba(43,108,176,.12);
}
.docs-archive-search-ico{
  color:#64748b;
  font-size:20px;
  font-weight:900;
  line-height:1;
  transform:translateY(-1px);
}
.docs-archive-search-input{
  flex:1;
  min-width:0;
  height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:#172033;
  font-size:14px;
  font-weight:750;
}
.docs-archive-search-input::placeholder{
  color:#94a3b8;
  font-weight:650;
}
.docs-archive-search-clear{
  width:28px;
  height:28px;
  border:0;
  border-radius:999px;
  background:#e8eef6;
  color:#172033;
  font-size:20px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
.docs-archive-search-clear:hover{
  background:#dbe7f5;
}
.docs-archive-search-meta{
  margin-top:8px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.docs-archive-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:12px;
  border-bottom:1px solid #e8edf5;
}
.docs-archive-head h3{
  margin:0;
  color:#172033;
  font-size:16px;
  font-weight:950;
}
.docs-archive-head p{
  margin:4px 0 0;
  color:#66768f;
  font-size:12px;
  font-weight:700;
}
.docs-archive-list{
  display:grid;
}
.docs-archive-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid #eef3f9;
}
.docs-archive-row:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.docs-archive-row strong{
  display:block;
  color:#172033;
  font-size:14px;
  font-weight:950;
}
.docs-archive-row span{
  display:block;
  margin-top:3px;
  color:#66768f;
  font-size:12px;
  font-weight:700;
}
.docs-title-link{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:#043970;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
}
.docs-title-link:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

/* Barre supérieure : fond bleu clair sur les compteurs */
.module-counters-ribbon .module-counter-item,
.drh-workforce-ribbon .drh-workforce-item{
  background:#eaf4ff!important;
  border-color:#cfe2f7!important;
  border-left-color:#cfe2f7!important;
}
.module-counters-ribbon .module-counter-item:hover,
.drh-workforce-ribbon .drh-workforce-item:hover{
  background:#dff0ff!important;
}

/* Documents / Archives : liste simple par employé */
.docs-archive-employee-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:16px 18px!important;
  border-radius:14px!important;
  background:#fff!important;
}
.docs-employee-view-button{
  appearance:none;
  border:1px solid #0b477f;
  background:#eaf4ff;
  color:#043970;
  border-radius:999px;
  min-height:36px;
  padding:0 16px;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  white-space:nowrap;
}
.docs-employee-view-button:hover{
  background:#043970;
  color:#fff;
}
.docs-archive-employee-identity h3{
  margin:0;
  color:#172033;
  font-size:16px;
  font-weight:950;
  text-transform:uppercase;
}
.docs-archive-employee-identity p{
  margin:3px 0 0;
  color:#047857;
  font-size:13px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-weight:950;
}
.docs-archive-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}
.docs-archive-modal-head h3{
  margin:0;
  font-size:18px;
  font-weight:950;
  color:#172033;
}
.docs-archive-modal-head p{
  margin:4px 0 0;
  font-size:12px;
  font-weight:800;
  color:#64748b;
}
.docs-employee-docs-list{
  display:grid;
  gap:8px;
}
.docs-employee-doc-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  width:100%;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fbff;
  padding:12px 14px;
  text-align:left;
  cursor:pointer;
}
.docs-employee-doc-item:hover{
  border-color:#93c5fd;
  background:#eff6ff;
}
.docs-employee-doc-item b{
  display:block;
  color:#172033;
  font-size:13px;
  font-weight:950;
}
.docs-employee-doc-item small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:11px;
  font-weight:750;
}
.docs-employee-doc-item strong{
  color:#043970;
  font-size:12px;
  font-weight:950;
}

/* Aperçu archives en format A4 */
.archive-a4-modal{
  width:min(96vw,1180px)!important;
  max-width:min(96vw,1180px)!important;
  height:min(92vh,980px)!important;
  max-height:min(92vh,980px)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f1f5f9!important;
}
.archive-a4-viewer{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.archive-a4-toolbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid #dbe3ef;
  background:#fff;
}
.archive-a4-toolbar h3{
  margin:0;
  color:#172033;
  font-size:15px;
  font-weight:950;
}
.archive-a4-toolbar p{
  margin:2px 0 0;
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.archive-a4-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.archive-a4-stage{
  flex:1 1 auto;
  min-height:0;
  overflow:auto!important;
  padding:18px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  background:#e8eef6;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.archive-a4-frame{
  width:210mm;
  height:calc(min(92vh,980px) - 96px);
  min-height:calc(min(92vh,980px) - 96px);
  max-width:100%;
  border:0;
  border-radius:4px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.22);
}
.archive-a4-sheet{
  width:210mm;
  min-height:297mm;
  max-width:100%;
  background:#fff;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:10mm;
  box-shadow:0 18px 45px rgba(15,23,42,.22);
}
.archive-a4-sheet img{
  max-width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:760px){
  .archive-a4-modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100svh!important;
    max-height:100svh!important;
    border-radius:0!important;
  }
  .archive-a4-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .archive-a4-stage{
    padding:10px;
    justify-content:flex-start;
  }
  .archive-a4-frame{
    width:210mm;
    max-width:none;
    height:calc(100svh - 132px);
    min-height:calc(100svh - 132px);
  }
}

/* Correction style des barres de recherche/filtres */
#view .drh-effectif-search-slot,
#view .drh-effectif-sort-slot,
#view .ops-effectif-tools,
#view .fp-filters,
#view .effectif-filter-bar{
  align-items:center!important;
}
#view .drh-effectif-search-slot .input,
#view .drh-effectif-sort-slot .select,
#view .ops-effectif-tools .input,
#view .ops-effectif-tools .select,
#view .fp-filters .input,
#view .fp-filters .select,
#view .effectif-filter-bar .input,
#view .effectif-filter-bar .select{
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  border:1px solid #d6e1ef!important;
  background:#f8fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
#view .drh-effectif-search-slot .input:focus,
#view .drh-effectif-sort-slot .select:focus,
#view .ops-effectif-tools .input:focus,
#view .ops-effectif-tools .select:focus,
#view .fp-filters .input:focus,
#view .fp-filters .select:focus{
  border-color:#2b6cb0!important;
  box-shadow:0 0 0 3px rgba(43,108,176,.12)!important;
  background:#fff!important;
}

/* OPS / Sites — synthèse moderne */
.sites-synth-panel{
  position:relative;
  overflow:hidden;
  margin-bottom:16px;
  padding:16px;
  border:1px solid #dbe7f5;
  border-radius:18px;
  background:
    radial-gradient(circle at 10% 0%,rgba(59,130,246,.12),transparent 32%),
    radial-gradient(circle at 92% 18%,rgba(14,165,233,.10),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 52%,#eef6ff 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.07),0 1px 4px rgba(15,23,42,.04);
}
.sites-synth-panel:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.64),transparent 42%,rgba(255,255,255,.38));
}
.sites-synth-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.sites-synth-head span{
  display:inline-flex;
  margin-bottom:4px;
  padding:4px 9px;
  border-radius:999px;
  background:#e8f2ff;
  color:#043970;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sites-synth-head h2{
  margin:0;
  color:#0f172a;
  font-size:22px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.03em;
}
.sites-synth-head button{
  min-height:34px;
  padding:0 12px;
  border:1px solid #c8d8ec;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#043970;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(4,57,112,.08);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.sites-synth-head button:hover{
  transform:translateY(-1px);
  background:#fff;
  box-shadow:0 10px 22px rgba(4,57,112,.14);
}
.sites-synth-detail{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  padding:12px;
  border:1px solid #cfe0f4;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 8px 18px rgba(15,23,42,.05);
}
.sites-synth-detail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.sites-synth-detail-head strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  font-weight:950;
}
.sites-synth-detail-head span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  margin-top:1px;
}
.sites-synth-detail-head button{
  min-height:30px;
  padding:0 10px;
  border:1px solid #d6e1ef;
  border-radius:999px;
  background:#fff;
  color:#043970;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.sites-synth-detail-table{
  overflow:auto;
  border:1px solid #e5edf7;
  border-radius:12px;
  background:#fff;
}
.sites-synth-detail-table table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  font-size:12px;
}
.sites-synth-detail-table th{
  padding:8px 10px;
  background:#f3f7fc;
  color:#64748b;
  font-size:10px;
  font-weight:950;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.sites-synth-detail-table td{
  padding:8px 10px;
  border-top:1px solid #eef2f7;
  color:#334155;
  font-weight:800;
}
.sites-synth-detail-table td:first-child{color:#0f172a;font-weight:950}
.sites-synth-detail-table .is-danger{color:#dc2626}
.sites-synth-detail-table .is-warn{color:#d97706}
.sites-synth-detail-more,
.sites-synth-detail-empty{
  padding:9px 10px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.sites-synth-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.sites-synth-kpi{
  --tone:#043970;
  --tone-soft:#eef6ff;
  min-height:112px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:5px;
  padding:13px 14px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:15px;
  background:rgba(255,255,255,.78);
  color:#0f172a;
  text-align:left;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(15,23,42,.05);
  backdrop-filter:blur(10px);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.sites-synth-kpi:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--tone) 46%,#dbeafe);
  background:#fff;
  box-shadow:0 18px 36px rgba(15,23,42,.11);
}
.sites-synth-kpi-icon{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--tone-soft);
  color:var(--tone);
  font-size:13px;
  font-weight:950;
}
.sites-synth-kpi-label{
  min-height:28px;
  color:#64748b;
  font-size:10px;
  line-height:1.25;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sites-synth-kpi strong{
  margin-top:2px;
  color:#10243f;
  font-size:30px;
  line-height:.95;
  font-weight:950;
  letter-spacing:-.05em;
}
.sites-synth-kpi small{
  color:#7586a0;
  font-size:11px;
  line-height:1.25;
  font-weight:800;
}
.sites-synth-kpi--primary{--tone:#1d4ed8;--tone-soft:#dbeafe}
.sites-synth-kpi--info{--tone:#0369a1;--tone-soft:#e0f2fe}
.sites-synth-kpi--success{--tone:#047857;--tone-soft:#dcfce7}
.sites-synth-kpi--warn{--tone:#d97706;--tone-soft:#fef3c7}
.sites-synth-kpi--danger{--tone:#dc2626;--tone-soft:#fee2e2;border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}
.sites-synth-kpi--neutral{--tone:#475569;--tone-soft:#f1f5f9}
.sites-synth-kpi--primary strong,
.sites-synth-kpi--info strong,
.sites-synth-kpi--success strong,
.sites-synth-kpi--warn strong,
.sites-synth-kpi--danger strong{color:var(--tone)}
@media(max-width:1280px){
  .sites-synth-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .sites-synth-panel{padding:16px;border-radius:18px}
  .sites-synth-head{display:block}
  .sites-synth-head button{margin-top:12px}
  .sites-synth-head h2{font-size:21px}
  .sites-synth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sites-synth-kpi{min-height:112px;padding:13px}
  .sites-synth-kpi strong{font-size:30px}
}
@media(max-width:560px){
  .sites-synth-grid{grid-template-columns:1fr}
}

/* ----- CLEAN FILTER BARS / SEARCH FIELDS ----- */
#view .fp-filter-panel{
  border:1px solid #d9e6f3!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.055)!important;
  backdrop-filter:blur(12px)!important;
  overflow:hidden!important;
}
#view .fp-filter-main{
  gap:14px!important;
  padding:18px!important;
  align-items:center!important;
}
#view .fp-search-field,
#view .fp-quick-filter{
  height:54px!important;
  border:1px solid #d8e5f2!important;
  border-radius:16px!important;
  background:#f8fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(15,23,42,.025)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
#view .fp-search-field{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 16px!important;
}
#view .fp-search-field svg{
  width:18px!important;
  height:18px!important;
  stroke:#6f879f!important;
  flex:0 0 auto!important;
}
#view .fp-search-field input{
  height:100%!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0!important;
  color:#172033!important;
  font-size:14px!important;
  font-weight:700!important;
}
#view .fp-search-field input::placeholder{
  color:#9aa9bb!important;
  font-weight:650!important;
}
#view .fp-search-field:focus-within,
#view .fp-quick-filter:focus-within{
  background:#fff!important;
  border-color:#0b5fa5!important;
  box-shadow:0 0 0 4px rgba(11,95,165,.11)!important;
}
#view .fp-quick-filter{
  position:relative!important;
  padding:8px 14px 6px!important;
}
#view .fp-quick-filter label{
  display:block!important;
  margin:0 0 4px!important;
  color:#71849b!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#view .fp-quick-filter select{
  width:100%!important;
  height:27px!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0 28px 0 0!important;
  color:#1f2d3d!important;
  font-size:14px!important;
  font-weight:850!important;
}
#view .fp-filter-footer{
  border-top:1px solid #edf3f9!important;
  background:rgba(248,251,255,.72)!important;
}

.badge-photo-crop{position:relative;touch-action:none;cursor:grab;user-select:none}
.badge-photo-crop.is-editable{outline:1px dashed rgba(4,57,112,.28);outline-offset:-2px}
.badge-photo-crop.is-dragging{cursor:grabbing;outline-color:#2563eb}
.badge-photo-crop img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:center center;will-change:transform;transition:transform .08s ease}
.badge-photo-crop.is-dragging img{transition:none}
.badge-photo-crop-hint{position:absolute;left:3px;right:3px;bottom:3px;display:flex;justify-content:center;background:rgba(4,57,112,.82);color:#fff;border-radius:999px;padding:2px 5px;font-size:6px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .15s ease}
.badge-photo-crop.is-editable:hover .badge-photo-crop-hint,.badge-photo-crop.is-dragging .badge-photo-crop-hint{opacity:1}
.badge-crop-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 12px;padding:10px 12px;border:1px solid #dbe7f5;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#eef6ff)}
.badge-crop-help{flex:1;min-width:230px;color:#64748b;font-size:12px;font-weight:800}
.badge-crop-zoom{display:flex;align-items:center;gap:8px;color:#043970;font-size:12px;font-weight:900}
.badge-crop-zoom input{accent-color:#043970;width:150px}

.ops-mvt-agent-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;height:260px;min-height:0;overflow:hidden;border:1px solid #dbe7f5;border-radius:14px;padding:10px;background:#f8fbff}
.ops-mvt-agent-col{min-width:0;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:6px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ops-mvt-agent-col-title{position:sticky;top:0;z-index:1;margin:-6px -6px 6px;padding:8px 10px;background:#eef6ff;border-bottom:1px solid #dbe7f5;color:#043970;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){.ops-mvt-agent-columns{grid-template-columns:1fr;height:auto;max-height:none;overflow:visible}.ops-mvt-agent-col{height:220px;max-height:220px}}
