/* =============================================================
     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:#01112f!important;
    border-right:1px solid #0b2348!important;
    width:250px!important;min-width:250px!important;max-width:250px!important;flex:0 0 250px!important;
    color:#fff!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:#343a3b!important;text-align:left!important;background:#171c1d!important}

  .sidebar-atlas-brand{
    color:#fff!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:#fff!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:#ffd16a!important;font-size:12px!important;font-weight:600!important;margin-top:6px;text-transform:uppercase;text-align:left!important}
  .sidebar nav{
    background:#01112f!important;
    display:flex!important;flex-direction:column!important;
    padding:18px 12px 12px!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent;
  }
  .sidebar nav::-webkit-scrollbar{width:4px}
  .sidebar nav::-webkit-scrollbar-track{background:transparent}
  .sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px}
  .sidebar nav:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24)}
  .sidebar .card{background:#061a3a!important;border:1px solid #12305f!important;box-shadow:none!important;color:#fff!important;border-radius:8px!important;text-align:left!important}
  .sidebar .card *{color:#fff!important}.sidebar .text-slate-500,.sidebar .text-slate-400{color:#b6c4d8!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:#fff!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:#fff!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(255,255,255,.07)!important;color:#ffd16a!important}
  .nav-link:hover .nav-label,.sub-link:hover .nav-label,.nav-group:hover .nav-label{color:#ffd16a!important}
  .nav-link.active,.sub-link.active{
    background:rgba(255,209,106,.12)!important;color:#fff!important;
    box-shadow:inset 4px 0 0 #ffd16a!important;font-weight:600!important;
  }
  .nav-link.active .nav-label,.sub-link.active .nav-label{color:#fff!important;text-align:left!important}
  .nav-count,.nav-link .nav-count,.sub-link .nav-count{
    justify-self:end!important;margin-left:10px!important;background:#ffd16a!important;color:#01112f!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;
  }
  .gestion-badge{position:absolute;top:-8px;right:-8px;background:#ffd16a;color:#01112f;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 #01112f;box-shadow:none}
  .sidebar-back{margin-top:0!important;margin-bottom:10px!important;border-top:1px solid #183765!important;padding:10px 12px 0!important}
  .sidebar-back .btn{width:100%!important;justify-content:center!important;background:transparent!important;border:1px solid #2c4a78!important;color:#fff!important;border-radius:8px!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important}
  .sidebar-back .btn:hover{background:rgba(255,255,255,.07)!important;color:#ffd16a!important}
  #sidebar-back-slot:empty{display:none!important}
  .sidebar-user{background:#01112f!important;border-top:1px solid #183765!important;color:#fff!important}
  .sidebar-user .avatar{background:#f1f5f9!important;color:#01112f!important;border:0!important;font-weight:950!important}
  .sidebar-user-name{color:#fff!important;font-size:12px!important;font-weight:850!important;line-height:1.1!important}
  .sidebar-user-role{color:#b6c4d8!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 #2c4a78!important;color:#fff!important;border-radius:8px!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important}
  .sidebar-user .btn:hover{background:rgba(255,255,255,.07)!important;color:#ffd16a!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:clamp(46px,5.2vw,54px);min-height:46px;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:hidden;scrollbar-width:thin;align-items:stretch;contain:layout;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:100%;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:nowrap;overflow:hidden;text-overflow:ellipsis}
  .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:48px}.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:48px;min-height:48px;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}
  .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}
  .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:48px!important;min-height:48px!important;overflow-x:auto!important;overflow-y:hidden!important}
    .module-counter-item,.drh-workforce-item{padding:5px 6px!important;border-radius:6px!important;min-width:0!important;height:100%!important}
    .module-counter-label,.drh-workforce-label{font-size:8.8px!important;white-space:nowrap!important;line-height:1.05!important;overflow:hidden!important;text-overflow:ellipsis!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:48px!important;min-height:48px!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-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(620px,58vw);display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:clamp(16px,4vh,34px) clamp(18px,4vw,42px);align-items:center;transform:translateY(3cm)}
  .company-portal-module{height:clamp(36px,4.5vh,42px);border:1px solid #dbeafe;border-radius:999px;background:#fff;color:#0f172a;font-size:clamp(11px,1vw,14px);font-weight:950;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 12px 24px rgba(15,23,42,.14);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,color .14s ease;white-space:normal;padding:0 12px;line-height:1.08;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;overflow-wrap:anywhere;word-break:normal;hyphens:auto;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(-2px);background:#f8fafc;color:#061b42;box-shadow:0 24px 44px rgba(15,23,42,.20)}
  .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{height:36px;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{height:42px;font-size:clamp(12px,2vw,15px);padding:0 10px}}
  @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;box-shadow:0 2px 4px rgba(4,57,112,.25)}
  .btn-primary:hover{background:var(--primary-strong);color:#fff;box-shadow:0 4px 8px rgba(245,158,11,.3)}
  .btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}
  .btn-secondary:hover{background:#e2e8f0;border-color:var(--border-strong)}
  .btn-ghost{background:transparent;color:var(--text-soft);border-color:var(--border)}
  .btn-ghost:hover{background:var(--surface-2);color:var(--text)}
  .btn-danger{background:var(--danger);color:#fff;box-shadow:0 2px 4px rgba(220,38,38,.25)}
  .btn-danger:hover{background:#b91c1c;box-shadow:0 4px 8px rgba(220,38,38,.3)}
  .btn-success{background:var(--success);color:#fff;box-shadow:0 2px 4px rgba(5,150,105,.25)}
  .btn-success:hover{background:#043970}
  .btn-warn{background:var(--warn);color:#fff;box-shadow:0 2px 4px rgba(234,88,12,.25)}
  .btn-warn:hover{background:#043970}
  .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:#475569}
  .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}

  /* ----- 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:8px;height:8px;border-radius:999px;background:#16a34a;display:inline-block}
  .dash-status-dot.warn{background:#ca8a04}
  .dash-status-dot.danger{background:#dc2626}
  @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{
    width:100%;min-height:68px;margin:0 0 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:1px solid #dbe3ef!important;border-radius:8px!important;box-shadow:0 4px 14px rgba(15,23,42,.045)!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)}}
  .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-map{display:none!important;visibility:hidden!important;pointer-events:none!important}
  .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:100%;display:flex;flex-direction:column;gap:12px}
  .fp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px 16px;box-shadow:var(--shadow-xs)}
  .fp-head h1{font-size:22px;line-height:1.1;margin:0;color:#0f172a;font-weight:900;text-align:left;text-transform:none}
  .fp-head p{margin:5px 0 0;color:#64748b;font-size:13px;line-height:1.35}
  .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:start!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-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .fp-summary-card{min-height:112px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow-xs)}
  .fp-summary-card span{display:block;color:#64748b;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.03em}
  .fp-summary-card strong{display:block;font-size:30px;line-height:1;margin:7px 0 5px;font-weight:950}
  .fp-summary-card small{display:block;color:#64748b;font-size:12px;line-height:1.25}
  .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(3,minmax(0,1fr));gap:12px}
  .fp-agent-card{border-radius:8px!important;min-width:0}
  .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-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}
  @media (max-width:1200px){.fp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.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:760px){.fp-head{flex-direction:column}.fp-head-actions{justify-content:flex-start}.fp-summary-grid,.fp-status-grid,.fp-card-grid,.grid-6,.grid-5,.grid-4{grid-template-columns:1fr}.fp-summary-card{min-height:96px}}

  .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);
  }
  .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 .candidate-section-head{background:#fffbeb!important;border-bottom-color:#fbbf24!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-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:#f8fafc;color:var(--text)}
  .candidate-section-head h2{font-size:14px;line-height:1.25;margin:2px 0 0;font-weight:900;color:var(--text)}
  .candidate-section-kicker{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);font-weight:900}
  .candidate-section-state{flex-shrink:0}
  .candidate-section-card>.grid,.candidate-section-card>.mt-4:not(.candidate-section-footer){padding:16px}
  .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}
  .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}
  .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:3mm 4mm;text-align:center}.badge-brand{font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.badge-type{font-size:8px;margin-top:1mm;letter-spacing:.12em}.badge-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:2.5mm 4mm 2mm}.badge-photo{border:1px solid #cbd5e1;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:9px;color:#64748b;overflow:hidden;margin-bottom:2mm}.badge-photo img{width:100%;height:100%;object-fit:cover}.badge-name{font-weight:900;font-size:14.5px;text-transform:uppercase;line-height:1.12}.badge-job{font-size:10px;margin-top:1.2mm;color:#334155}.badge-mat{font-family:monospace;font-weight:900;font-size:16px;margin-top:1.4mm}.badge-front-qr{margin-top:1.2mm;margin-bottom:2.2mm;border:1px solid #cbd5e1;padding:.8mm;background:#fff}.badge-front-qr img{width:15mm;height:15mm;display:block}.badge-meta{font-size:8px;color:#64748b;margin-top:1.5mm}.badge-foot{font-size:7px;text-align:center;padding:1.6mm 2mm;border-top:1mm solid}.badge-back-body{font-size:8px;line-height:1.3;padding:4mm;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2mm;flex:1}.badge-back-logo{width:34mm;height:34mm;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.badge-back-logo img{width:100%;height:100%;object-fit:contain;display:block}.badge-back-text{min-height:22mm;display:flex;flex-direction:column;justify-content:center}.badge-back-text p{margin:1mm 0}.badge-small{font-size:7px;color:#475569}@media print{@page{size:A4;margin:8mm}.badge-card{box-shadow:none}.no-print{display:none!important}}

.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{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}
.mat-erp-tabs a.active{background:#043970;color:#fff;border-color:#043970;box-shadow:0 5px 12px rgba(4,57,112,.18)}
.mat-erp-tabs a 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{background:#ffd16a;color:#01112f}
.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}
.module-counters-ribbon .module-counter-item,.drh-workforce-ribbon .drh-workforce-item{height:100%!important;min-height:0!important;padding:clamp(4px,.55vw,7px)!important;border-radius:7px!important;display:grid!important;overflow:hidden!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-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;
  }


/* ----- 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 ----- */
.module-counters-ribbon .module-counter-item,
.drh-workforce-ribbon .drh-workforce-item{
  border:0!important;
  border-left:0!important;
  box-shadow:none!important;
}
.module-counters-ribbon .module-counter-item:hover,
.drh-workforce-ribbon .drh-workforce-item:hover{
  box-shadow:none!important;
}


/* ----- TOP COUNTERS BACKGROUND ----- */
.module-counters-ribbon .module-counter-item,
.drh-workforce-ribbon .drh-workforce-item{
  background:#ebedee!important;
}
.module-counters-ribbon .module-counter-item:hover,
.drh-workforce-ribbon .drh-workforce-item:hover{
  background:#ebedee!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(5,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;
}
@media(max-width:1180px){.drh-erp-kpi-grid{grid-template-columns:repeat(3,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-erp-kpi-grid{grid-template-columns:1fr}
}


/* ----- SIDEBAR TEMPLATE STYLE ----- */
.sidebar{
  background:#011b3f!important;
  border-right:1px solid #062b5f!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:linear-gradient(135deg,#043970 0%,#011b3f 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!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:#011b3f!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:#f8fafc!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:#fff;
  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:#08305f!important;
  color:#fff!important;
}
.sidebar .nav-link.active,.sidebar .sub-link.active{
  background:#0b3d75!important;
  color:#fff!important;
  box-shadow:inset 4px 0 0 #0ea5e9!important;
}
.sidebar .nav-link.active .nav-label,.sidebar .sub-link.active .nav-label{font-weight:650!important;color:#fff!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:#0ea5e9!important;
  color:#fff!important;
}
.sidebar-back,.sidebar-user{
  background:#011b3f!important;
  border-top:1px solid rgba(255,255,255,.08)!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:linear-gradient(135deg,#043970 0%,#011b3f 100%)!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;
}
#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:capitalize!important;
  letter-spacing:0!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;
}
#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-color:#011b3f!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-color:#dc2626!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),
button.btn:not(.btn-danger):not(.topbar-notification-btn),
a.btn:not(.btn-danger):not(.topbar-notification-btn),
.module-page-header-actions button:not(.btn-danger),
.candidate-actions-panel .btn:not(.btn-danger),
.candidate-actions-row .btn:not(.btn-danger),
.candidate-global-footer-actions .btn:not(.btn-danger),
td .btn:not(.btn-danger),
.mat-actions .btn:not(.btn-danger),
.site-map-missing button:not(.btn-danger){
  background:#124f8f!important;
  color:#fff!important;
  border:0!important;
  border-left:4px solid #0ea5e9!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-weight:850!important;
}
.btn:not(.btn-danger):not(.topbar-notification-btn):hover,
button.btn:not(.btn-danger):not(.topbar-notification-btn):hover,
a.btn:not(.btn-danger):not(.topbar-notification-btn):hover,
.module-page-header-actions button:not(.btn-danger):hover,
.candidate-actions-panel .btn:not(.btn-danger):hover,
.candidate-actions-row .btn:not(.btn-danger):hover,
.candidate-global-footer-actions .btn:not(.btn-danger):hover,
td .btn:not(.btn-danger):hover,
.mat-actions .btn:not(.btn-danger):hover,
.site-map-missing button:not(.btn-danger):hover{
  background:#0b3d75!important;
  color:#fff!important;
  border-left-color:#38bdf8!important;
}
.btn.btn-danger,button.btn-danger,a.btn-danger,
.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;
  }
}

/* ----- 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-tabs-bar::-webkit-scrollbar{display:none}
.ws-tab{
  position:relative;
  height:35px;
  min-width:170px;
  max-width:238px;
  flex:0 1 214px;
  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-tab-actions{
  height:35px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 7px;
}
.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: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-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}}
