:root{
      /* Style calqué sur ref.html */
      --bg1:#f7fff9;
      --bg2:#ebfbf2;
      --ink:#081c15;
      --muted:#4d6b5f;
      --line:rgba(8,28,21,.10);
      --brand:#16a34a;
      --brand2:#10b981;
      --brandDark:#065f46;
      --card:rgba(255,255,255,.92);
      --shadow:0 18px 36px rgba(6,95,70,.12);
      --radius:24px;
      --radius2:18px;
      --danger:#ef4444;
      --warn:#f59e0b;
      --ok:#16a34a;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      min-height:100vh;
      font-family:Arial, Helvetica, sans-serif;
      color:var(--ink);
      background:
        radial-gradient(900px 500px at 10% 0%, rgba(34,197,94,.14), transparent 60%),
        radial-gradient(900px 500px at 100% 10%, rgba(16,185,129,.10), transparent 60%),
        linear-gradient(180deg, var(--bg1), var(--bg2));
    }

    /* ======= TOP PROGRESS BAR ======= */
    .topProgress{
      position:fixed; left:0; top:0; height:3px; width:100%; z-index:300;
      pointer-events:none;
      opacity:0;
      transition:opacity .2s ease;
    }
    .topProgress.show{opacity:1;}
    .topProgress .bar{
      height:100%; width:40%;
      background:linear-gradient(90deg, var(--brand), var(--brand2));
      border-radius:999px;
      animation: progressSlide 1.2s ease-in-out infinite;
    }
    @keyframes progressSlide{
      0%{transform:translateX(-60%)}
      50%{transform:translateX(120%)}
      100%{transform:translateX(-60%)}
    }

    /* ======= LAYOUT ======= */
    .wrap{max-width:1180px; margin:0 auto; padding:22px;}

    .topbar{
      position:sticky; top:0; z-index:50;
      background: rgba(247,255,249,.75);
      backdrop-filter: blur(10px);
      border-bottom:1px solid rgba(6,95,70,.10);
    }
    .topbarIn{
      max-width:1180px; margin:0 auto;
      padding:12px 22px;
      display:flex;
      gap:12px;
      align-items:center;
      justify-content:space-between;
      flex-wrap:wrap;
    }

    .brandRow{display:flex; gap:10px; align-items:center; min-width:240px;}
    .logoSm{
      width:38px; height:38px;
      border-radius:14px;
      border:1px solid rgba(6,95,70,.12);
      background:#fff;
      box-shadow:0 10px 24px rgba(6,95,70,.10);
      object-fit:contain;
    }
    .brandText{display:flex; flex-direction:column; gap:2px;}
    .brandText .t{font-weight:900; letter-spacing:.2px;}
    .brandText .s{font-size:12px; color:var(--muted)}

    .search{
      flex:1;
      min-width:min(520px, 90vw);
      display:flex;
      gap:10px;
      align-items:center;
      background:rgba(255,255,255,.80);
      border:1px solid rgba(6,95,70,.12);
      border-radius:16px;
      padding:10px 12px;
      box-shadow: 0 10px 24px rgba(6,95,70,.08);
    }
    @media (max-width: 820px){
      .search{min-width: 100%;}
    }
    .search input{
      width:100%;
      background:transparent;
      border:0; outline:0;
      color:var(--ink);
      font-size:14px;
    }

    .pill{
      font-size:11px;
      font-weight:900;
      letter-spacing:.4px;
      text-transform:uppercase;
      color:#166534;
      background:rgba(22,163,74,.10);
      border:1px solid rgba(22,163,74,.18);
      padding:7px 10px;
      border-radius:999px;
      white-space:nowrap;
    }

    .actions{display:flex; gap:10px; align-items:center; flex-wrap:wrap;}

    button, .btnLink{
      border:0;
      cursor:pointer;
      padding:12px 16px;
      border-radius:16px;
      font-weight:900;
      font-size:13px;
      transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
      text-decoration:none;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      line-height:1.2;
      user-select:none;
    }
    button:hover, .btnLink:hover{transform:translateY(-1px)}
    button:disabled{opacity:.55; cursor:not-allowed; transform:none}

    .primary{
      color:#fff;
      background:linear-gradient(135deg, var(--brand), var(--brand2));
      box-shadow:0 12px 24px rgba(22,163,74,.18);
    }
    .ghost{
      color:var(--brandDark);
      background:#fff;
      border:1px solid rgba(6,95,70,.10);
      box-shadow:0 10px 22px rgba(6,95,70,.06);
    }

    /* ======= HERO ======= */
    .hero{
      border:1px solid rgba(6,95,70,.12);
      border-radius:32px;
      overflow:hidden;
      box-shadow:var(--shadow);
      background:linear-gradient(135deg, #064e3b, #065f46 48%, #047857);
      color:#fff;
      margin-bottom:16px;
      position:relative;
    }
    .heroIn{
      padding:22px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      align-items:center;
      flex-wrap:wrap;
    }
    .eyebrow{
      display:inline-block;
      padding:7px 11px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.18);
      font-size:11px;
      font-weight:900;
      letter-spacing:.4px;
      text-transform:uppercase;
    }
    .hero h1{
      margin:12px 0 6px;
      font-size:28px;
      line-height:1.08;
    }
    .hero .sub{
      margin:0;
      color:rgba(255,255,255,.88);
      font-size:13px;
      max-width:720px;
      line-height:1.55;
    }
    .heroRight{display:flex; gap:10px; align-items:center;}
    .heroLogo{
      width:54px; height:54px;
      border-radius:18px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.18);
      padding:6px;
      object-fit:contain;
    }
    .badge{
      padding:10px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }

    /* ======= GRID / CARDS ======= */
    .grid{
      display:grid;
      grid-template-columns: 380px 1fr;
      gap:18px;
      align-items:start;
    }
    @media (max-width: 980px){
      .grid{grid-template-columns:1fr;}
    }

    .card{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--card);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .head{
      padding:16px 18px;
      background:linear-gradient(180deg, rgba(6,95,70,.05), rgba(6,95,70,.02));
      border-bottom:1px solid var(--line);
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
    }
    .title{
      margin:0;
      font-size:18px;
      font-weight:900;
    }
    .count{font-size:12px; color:var(--muted); font-weight:700;}

    .list{
      padding:12px;
      max-height: calc(100vh - 100px);
      overflow:auto;
    }
    .section{
      margin:12px 6px 6px;
      font-size:11px;
      color:rgba(8,28,21,.55);
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:900;
    }

    .item{
      display:flex;
      flex-direction:column;
      gap:6px;
      padding:12px 12px;
      border-radius:18px;
      border:1px solid transparent;
      cursor:pointer;
      transition:transform .16s ease, background .16s ease, border-color .16s ease;
    }
    .item:hover{
      transform:translateY(-1px);
      background:rgba(6,95,70,.04);
      border-color:rgba(6,95,70,.10);
    }
    .item.active{
      background:rgba(22,163,74,.08);
      border-color:rgba(22,163,74,.18);
    }

    .itemTitleRow{display:flex; gap:10px; align-items:center; justify-content:space-between;}
    .itemTitle{font-weight:900; font-size:13px;}
    .meta{font-size:12px; color:var(--muted);}

    .tag{
      font-size:10px;
      padding:3px 9px;
      border-radius:999px;
      border:1px solid rgba(22,163,74,.18);
      background:rgba(22,163,74,.10);
      color:#166534;
      font-weight:900;
      letter-spacing:.06em;
      text-transform:uppercase;
      white-space:nowrap;
    }

    .viewer{
      position:relative;
      height: calc(100vh - 100px);
      background:linear-gradient(180deg, rgba(6,95,70,.04), rgba(6,95,70,.02));
    }
    .viewer iframe{width:100%; height:100%; border:0;}

    .empty{
      height:100%;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding:24px;
      color:var(--muted);
    }

    /* ======= LOADING OVERLAY ======= */
    .loading{
      position:absolute; inset:0;
      display:none;
      align-items:center;
      justify-content:center;
      background: rgba(247,255,249,.68);
      backdrop-filter: blur(8px);
    }
    .loading.show{display:flex;}

    .spinner{
      width:28px; height:28px;
      border-radius:999px;
      border:3px solid rgba(6,95,70,.18);
      border-top-color: rgba(22,163,74,.95);
      animation: spin 1s linear infinite;
    }
    @keyframes spin{to{transform:rotate(360deg)}}

    /* ======= SKELETON LIST ======= */
    .skeleton{padding:12px;}
    .skRow{
      height:14px;
      border-radius:999px;
      margin:10px 0;
      background:linear-gradient(90deg, rgba(6,95,70,.06), rgba(6,95,70,.12), rgba(6,95,70,.06));
      background-size: 200% 100%;
      animation: shimmer 1.1s linear infinite;
    }
    @keyframes shimmer{0%{background-position:0% 0%}100%{background-position:200% 0%}}

    /* ======= SELECTS ======= */
    .select{
      appearance:none;
      background:#fff;
      border:1px solid rgba(6,95,70,.12);
      color:var(--ink);
      border-radius:14px;
      padding:10px 12px;
      font-weight:900;
      font-size:12px;
      outline:none;
      box-shadow:0 10px 22px rgba(6,95,70,.06);
    }
    .select:focus{border-color: rgba(22,163,74,.35);}

    /* ======= TOASTS ======= */
    .toasts{
      position:fixed; right:14px; bottom:14px; z-index:250;
      display:flex; flex-direction:column; gap:10px;
      max-width:min(380px, 92vw);
    }
    .toast{
      border:1px solid rgba(6,95,70,.12);
      background:rgba(255,255,255,.92);
      box-shadow:0 18px 36px rgba(6,95,70,.14);
      border-radius:18px;
      padding:12px 12px;
      display:flex; gap:10px; align-items:flex-start;
      animation: toastIn .22s ease both;
    }
    @keyframes toastIn{from{transform:translateY(8px); opacity:0}to{transform:translateY(0); opacity:1}}
    .toast .dot{width:10px; height:10px; border-radius:999px; margin-top:4px;}
    .toast .t{font-weight:900; font-size:13px; margin:0 0 4px;}
    .toast .m{margin:0; font-size:12px; color:var(--muted); line-height:1.45;}

    /* ======= LOGIN OVERLAY ======= */
    .overlay{
      position:fixed; inset:0; z-index:200;
      background: rgba(7,12,22,.42);
      backdrop-filter: blur(12px);
      display:flex;
      align-items:center;
      justify-content:center;
      padding:16px;
      animation: fadeIn .22s ease both;
    }
    @keyframes fadeIn{from{opacity:0}to{opacity:1}}

    .loginCard{
      width:min(560px, 96vw);
      border:1px solid rgba(6,95,70,.12);
      background: rgba(255,255,255,.92);
      border-radius:28px;
      box-shadow: 0 22px 60px rgba(0,0,0,.18);
      overflow:hidden;
      transform:translateY(0);
      animation: pop .22s ease both;
    }
    @keyframes pop{from{transform:translateY(8px) scale(.98)}to{transform:translateY(0) scale(1)}}

    .loginHero{
      padding:18px;
      background:linear-gradient(135deg, #064e3b, #065f46 48%, #047857);
      color:#fff;
      display:flex;
      align-items:center;
      gap:14px;
    }
    .logoBig{
      width:82px; height:82px;
      border-radius:26px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.18);
      padding:8px;
      object-fit:contain;
      flex:0 0 auto;
    }
    .loginHero h2{
      margin:0;
      font-size:18px;
      font-weight:900;
    }
    .loginHero p{
      margin:6px 0 0;
      color:rgba(255,255,255,.88);
      font-size:13px;
      line-height:1.45;
    }

    .loginBody{padding:18px;}
    .field{display:flex; flex-direction:column; gap:6px; margin-bottom:12px;}
    .field label{font-size:12px; color:rgba(8,28,21,.70); font-weight:900;}
    .field input{
      width:100%;
      background:#fff;
      border:1px solid rgba(6,95,70,.12);
      border-radius:16px;
      padding:13px 12px;
      color:var(--ink);
      outline:none;
      font-size:14px;
      box-shadow:0 10px 22px rgba(6,95,70,.06);
      transition:border-color .16s ease, transform .16s ease;
    }
    .field input:focus{border-color: rgba(22,163,74,.35)}

    .err{font-size:12px; color:rgba(239,68,68,.95); min-height:16px; font-weight:700;}

    .loginRow{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap;}
    .hint{font-size:12px; color:var(--muted);}

    .shake{animation: shake .28s ease}
    @keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}100%{transform:translateX(0)}}

    /* ======= MODALS ======= */
    .modal{
      position:fixed; inset:0; z-index:220;
      background: rgba(7,12,22,.42);
      backdrop-filter: blur(12px);
      display:none;
      align-items:center;
      justify-content:center;
      padding:16px;
    }
    .modal.show{display:flex; animation: fadeIn .18s ease both;}

    .modalCard{
      width:min(720px, 96vw);
      border:1px solid rgba(6,95,70,.12);
      background: rgba(255,255,255,.92);
      border-radius:28px;
      box-shadow: 0 22px 60px rgba(0,0,0,.18);
      padding:16px;
      animation: pop .18s ease both;
    }

    .modalTop{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px;}
    .x{
      cursor:pointer;
      padding:10px 12px;
      border-radius:16px;
      border:1px solid rgba(6,95,70,.10);
      background:#fff;
      color:var(--brandDark);
      font-weight:900;
      box-shadow:0 10px 22px rgba(6,95,70,.06);
    }

    .grid2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
    @media (max-width: 720px){ .grid2{grid-template-columns:1fr;} }

    /* Small foot text */
    .foot{
      margin-top:16px;
      padding:14px 16px;
      border:1px dashed rgba(6,95,70,.14);
      border-radius:18px;
      background:rgba(255,255,255,.65);
      color:var(--muted);
      font-size:12px;
    }
    
    /* Masquer le panneau "Documents de l’entreprise" */
#appWrap .hero { 
  display: none !important; 
}
/* ===== PATCH: TOPBAR + ENTÊTES PANNEAUX (vert foncé / texte blanc) ===== */
:root{
  --deepGreen: #064e3b;
  --deepGreen2:#053b2d;
}

/* 1) Panneau principal (TOPBAR) */
.topbar{
  background: linear-gradient(180deg, var(--deepGreen), var(--deepGreen2)) !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
}

/* Textes topbar */
.topbar .brand .t,
.topbar .brand .s{
  color:#fff !important;
}
.topbar .brand .s{ opacity:.82; }

/* Champ recherche topbar */
.topbar .search{
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}
.topbar .search input{ color:#fff !important; }
.topbar .search input::placeholder{ color: rgba(255,255,255,.70) !important; }

/* Badge statut (pill) */
.topbar .pill{
  color:#fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.10) !important;
}

/* Boutons topbar */
.topbar .btn{
  color:#fff !important;
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.10) !important;
}
.topbar .btn:hover{ background: rgba(255,255,255,.14) !important; }

/* 2) En-têtes panneaux gauche + droite */
.leftHeader, .rightHeader{
  background: linear-gradient(180deg, var(--deepGreen), var(--deepGreen2)) !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
}
.leftHeader b, .rightHeader b{ color:#fff !important; }
.leftHeader .count, .rightHeader .count{ color: rgba(255,255,255,.78) !important; }
/* Titre topbar en blanc */
.topbar .brand .t{
  color:#fff !important;
  opacity: 1 !important;
}
/* En-têtes panneaux gauche/droite : vert foncé léger + ressorti, texte blanc */
.leftHeader, .rightHeader{
  background: linear-gradient(180deg, rgba(6,95,70,.92), rgba(5,59,45,.86)) !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 10px 22px rgba(6,95,70,.18) !important; /* effet ressorti */
  color:#fff !important;
}

.leftHeader b, .rightHeader b{
  color:#fff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.25); /* petit relief */
}

.leftHeader .count, .rightHeader .count{
  color: rgba(255,255,255,.80) !important;
}

/* ===== FIX (2 MODIFS SEULEMENT) ===== */

/* 1) "SYNCORE • Portail Documents" en BLANC */
.topbar .brandText .t{
  color:#fff !important;
  opacity:1 !important;
}

/* (optionnel mais propre) sous-titre en blanc léger */
.topbar .brandText .s{
  color: rgba(255,255,255,.82) !important;
}

/* 2) Entêtes des 2 panneaux (gauche + droite) : vert léger "ressorti" + texte blanc */
.grid .card .head{
  background: linear-gradient(180deg, rgba(6,95,70,.88), rgba(5,59,45,.82)) !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 10px 22px rgba(6,95,70,.18) !important;
}

.grid .card .head .title{
  color:#fff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.25) !important;
}

.grid .card .head .count{
  color: rgba(255,255,255,.80) !important;
}

/* ===== LOGIN: animation vérification (PRO) ===== */

@keyframes loginGlow {
  0%   { box-shadow: 0 22px 60px rgba(0,0,0,.18), 0 0 0 rgba(22,163,74,0); }
  50%  { box-shadow: 0 22px 60px rgba(0,0,0,.18), 0 0 26px rgba(22,163,74,.22); }
  100% { box-shadow: 0 22px 60px rgba(0,0,0,.18), 0 0 0 rgba(22,163,74,0); }
}

@keyframes btnShimmer {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

@keyframes spinFast { to { transform: rotate(360deg); } }

/* 1) Glow/Pulse sur la carte pendant vérification */
.loginCard.isVerifying{
  animation: loginGlow 1.05s ease-in-out infinite;
  border-color: rgba(22,163,74,.30) !important;
}

/* 2) Bouton login: mode loading */
#loginBtn{
  position: relative;
  overflow: hidden;
}

/* container texte/spinner dans le bouton */
#loginBtn .btnText{ display:inline-block; }
#loginBtn .btnSpin{
  width:16px; height:16px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color: rgba(255,255,255,.95);
  display:none;
  animation: spinFast .7s linear infinite;
}

/* état verifying sur le bouton */
#loginBtn.isLoading{
  cursor: default;
  transform: none !important;
  opacity: .96;
  background: linear-gradient(90deg, var(--brand), var(--brand2), var(--brand)) !important;
  background-size: 200% 100% !important;
  animation: btnShimmer .9s linear infinite;
}

/* afficher spinner + ajuster texte */
#loginBtn.isLoading .btnSpin{ display:inline-block; }
#loginBtn.isLoading .btnText{ opacity: .92; }

/* ======= SPLASH SCREEN KIBARU ======= */
.kibaruSplash{
  position:fixed;
  inset:0;
  z-index:260;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  overflow:hidden;
  background:
    radial-gradient(900px 500px at 12% 8%, rgba(25, 184, 112, .22), transparent 62%),
    radial-gradient(780px 460px at 88% 18%, rgba(60, 211, 153, .15), transparent 62%),
    linear-gradient(140deg, #041b15 0%, #063226 42%, #0a4d39 100%);
  transition:opacity .58s ease, visibility .58s ease, transform .58s ease;
}
.kibaruSplash::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0)),
    radial-gradient(circle at center, rgba(255,255,255,.05), transparent 55%);
  pointer-events:none;
}
.kibaruSplash.isHidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(1.015);
}
.kibaruSplashScene{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.kibaruOrb{
  position:absolute;
  border-radius:999px;
  filter:blur(14px);
  opacity:.45;
  animation:kibaruOrbFloat 10s ease-in-out infinite;
}
.kibaruOrb.orbA{
  width:260px; height:260px;
  left:-80px; top:12%;
  background:rgba(117, 255, 203, .16);
}
.kibaruOrb.orbB{
  width:380px; height:380px;
  right:-120px; top:8%;
  background:rgba(18, 163, 106, .16);
  animation-duration:13s;
}
.kibaruOrb.orbC{
  width:300px; height:300px;
  bottom:-120px; left:26%;
  background:rgba(192, 255, 232, .10);
  animation-duration:12s;
}
.kibaruGrid{
  position:absolute;
  inset:-20%;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:72px 72px;
  transform:perspective(700px) rotateX(72deg) translateY(-10%);
  transform-origin:center top;
  opacity:.18;
}
@keyframes kibaruOrbFloat{
  0%,100%{ transform:translateY(0) translateX(0); }
  50%{ transform:translateY(-18px) translateX(10px); }
}
.kibaruSplashShell{
  position:relative;
  width:min(880px, 100%);
  padding:42px 38px 34px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  box-shadow:
    0 28px 80px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(18px);
  text-align:center;
  overflow:hidden;
  animation:kibaruSplashPop .62s cubic-bezier(.2,.9,.2,1) both;
}
.kibaruSplashShell::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 45%);
  pointer-events:none;
}
@keyframes kibaruSplashPop{
  from{ opacity:0; transform:translateY(20px) scale(.97); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.kibaruSplashSealWrap{
  position:relative;
  width:164px;
  height:164px;
  margin:0 auto 28px;
}
.kibaruSplashRing{
  position:absolute;
  inset:0;
  border-radius:999px;
  border:1px solid rgba(205,255,236,.22);
}
.kibaruSplashRing.ringA{
  animation:kibaruSpin 16s linear infinite;
}
.kibaruSplashRing.ringB{
  inset:12px;
  border-style:dashed;
  border-color:rgba(205,255,236,.18);
  animation:kibaruSpinReverse 22s linear infinite;
}
@keyframes kibaruSpin{ from{transform:rotate(0)} to{transform:rotate(360deg)} }
@keyframes kibaruSpinReverse{ from{transform:rotate(360deg)} to{transform:rotate(0)} }
.kibaruSplashSeal{
  position:absolute;
  inset:18px;
  display:grid;
  place-items:center;
  border-radius:36px;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    0 0 0 10px rgba(255,255,255,.03),
    0 16px 40px rgba(0,0,0,.28),
    0 0 48px rgba(80, 255, 187, .16);
}
.kibaruSplashIcon{
  width:94px;
  height:94px;
  object-fit:contain;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.16));
  animation:kibaruSealFloat 3.3s ease-in-out infinite;
}
@keyframes kibaruSealFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}
.kibaruSplashBrand{
  margin:0 auto;
  width:min(720px, 100%);
  display:flex;
  justify-content:center;
}
.kibaruSplashLogo{
  width:min(620px, 100%);
  max-width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 36px rgba(0,0,0,.18));
  animation:kibaruLogoReveal .9s ease .18s both;
}
@keyframes kibaruLogoReveal{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:translateY(0); }
}
.kibaruSplashLine{
  width:min(520px, 82%);
  height:4px;
  margin:20px auto 20px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(196,255,230,0), rgba(196,255,230,.92), rgba(196,255,230,0));
  box-shadow:0 0 18px rgba(152, 255, 208, .22);
  animation:kibaruLinePulse 2s ease-in-out infinite;
}
@keyframes kibaruLinePulse{
  0%,100%{ opacity:.55; transform:scaleX(.96); }
  50%{ opacity:1; transform:scaleX(1); }
}
.kibaruSplashCopy{
  position:relative;
  z-index:1;
}
.kibaruSplashCopy h1{
  margin:0;
  color:#f5fffb;
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:.01em;
}
.kibaruSplashCopy p{
  margin:12px 0 0;
  color:rgba(235,255,246,.82);
  font-size:clamp(14px, 2vw, 18px);
  line-height:1.55;
}
.kibaruSplashPills{
  margin:24px auto 0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
}
.kibaruSplashPills span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:10px 16px;
  border-radius:999px;
  color:#ebfff6;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.kibaruSplashFooter{
  margin-top:28px;
}
.kibaruSplashMeta{
  color:rgba(235,255,246,.70);
  font-size:13px;
  font-weight:700;
  margin-bottom:12px;
}
.kibaruSplashProgress{
  width:min(380px, 90%);
  margin:0 auto;
  height:8px;
  padding:1px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.18);
}
.kibaruSplashProgress span{
  display:block;
  width:46%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(156,255,214,.35), rgba(156,255,214,.98), rgba(156,255,214,.45));
  box-shadow:0 0 18px rgba(156,255,214,.28);
  animation:kibaruProgress 1.35s ease-in-out infinite;
}
@keyframes kibaruProgress{
  0%{ transform:translateX(-76%); }
  55%{ transform:translateX(118%); }
  100%{ transform:translateX(220%); }
}
@media (max-width: 760px){
  .kibaruSplash{ padding:16px; }
  .kibaruSplashShell{
    padding:28px 20px 24px;
    border-radius:28px;
  }
  .kibaruSplashSealWrap{
    width:136px;
    height:136px;
    margin-bottom:20px;
  }
  .kibaruSplashSeal{ inset:14px; border-radius:30px; }
  .kibaruSplashIcon{ width:78px; height:78px; }
  .kibaruSplashLine{ margin:16px auto 16px; height:3px; }
  .kibaruSplashPills{ gap:8px; }
  .kibaruSplashPills span{
    min-height:34px;
    padding:8px 12px;
    font-size:11px;
  }
  .kibaruSplashMeta{ font-size:12px; }
}
@media (prefers-reduced-motion: reduce){
  .kibaruOrb,
  .kibaruSplashRing,
  .kibaruSplashIcon,
  .kibaruSplashLogo,
  .kibaruSplashLine,
  .kibaruSplashProgress span{
    animation:none !important;
  }
}


/* ======= PRÉSENTATION COMMERCIALE ======= */
.commercialModal{
  align-items:flex-start !important;
  overflow-y:auto;
  padding:22px 16px;
}
.commercialModal .commercialCard{
  width:min(1120px, calc(100vw - 28px));
  max-height:none;
  margin:auto;
  padding:0;
  overflow:visible;
  border:1px solid rgba(6,95,70,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,252,247,.98));
}
.commercialHero{
  position:relative;
  padding:28px 28px 22px;
  background:
    radial-gradient(520px 240px at 10% 0%, rgba(22,163,74,.22), transparent 60%),
    radial-gradient(520px 240px at 100% 10%, rgba(16,185,129,.16), transparent 60%),
    linear-gradient(135deg, #f5fff8, #edf9f1 52%, #f8fffb);
  border-bottom:1px solid rgba(6,95,70,.08);
}
.commercialBadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  color:#065f46;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(6,95,70,.10);
  box-shadow:0 14px 28px rgba(6,95,70,.08);
}
.commercialHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
}
.commercialBrand{
  display:flex;
  align-items:center;
  gap:16px;
}
.commercialLogo{
  width:88px;
  height:88px;
  object-fit:contain;
  border-radius:24px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(6,95,70,.10);
  box-shadow:0 20px 40px rgba(6,95,70,.10);
  padding:10px;
}
.commercialHead h2{
  margin:0 0 6px;
  font-size:34px;
  line-height:1;
}
.commercialHead p{
  margin:0;
  max-width:700px;
  color:var(--muted);
  font-size:15px;
}
.commercialLead{
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:18px;
  margin-top:24px;
}
.leadText{
  padding:22px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,95,70,.08);
  box-shadow:0 16px 32px rgba(6,95,70,.07);
}
.leadText h3{
  margin:0 0 10px;
  font-size:26px;
  line-height:1.15;
}
.leadText p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.leadStats{
  display:grid;
  gap:12px;
}
.statCard{
  padding:18px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,255,249,.88));
  border:1px solid rgba(6,95,70,.08);
  box-shadow:0 14px 24px rgba(6,95,70,.06);
}
.statCard strong{
  display:block;
  margin-bottom:6px;
  font-size:16px;
}
.statCard span{
  display:block;
  color:var(--muted);
  line-height:1.6;
  font-size:14px;
}
.commercialBody{
  padding:24px 28px 28px;
  overflow:visible;
  max-height:none;
}
.commercialSection + .commercialSection{
  margin-top:22px;
}
.sectionKicker{
  margin-bottom:12px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
  color:#0f766e;
}
.featureGrid, .audienceGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.featureCard, .audienceCard{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(6,95,70,.08);
  box-shadow:0 14px 24px rgba(6,95,70,.06);
}
.featureCard h4{
  margin:0 0 8px;
  font-size:18px;
}
.featureCard p, .audienceCard span{
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:14px;
}
.audienceCard strong{
  display:block;
  margin-bottom:6px;
  font-size:16px;
}
.commercialSplit{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.commercialList{
  margin:0;
  padding-left:18px;
  color:var(--ink);
}
.commercialList li{
  margin:0 0 10px;
  line-height:1.6;
}
.closingBand{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:20px;
  border-radius:22px;
  background:
    radial-gradient(320px 180px at 0% 0%, rgba(22,163,74,.12), transparent 60%),
    linear-gradient(180deg, rgba(237,249,241,.95), rgba(255,255,255,.94));
  border:1px solid rgba(6,95,70,.08);
}
.closingText{
  margin:0;
  max-width:760px;
  color:var(--muted);
  line-height:1.7;
}
.closingActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
@media (max-width: 980px){
  .commercialLead,
  .commercialSplit,
  .featureGrid,
  .audienceGrid{
    grid-template-columns:1fr;
  }
  .commercialHead{
    flex-direction:column;
    align-items:flex-start;
  }
  .closingBand{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media (max-width: 640px){
  .commercialModal{
    padding:10px 8px;
  }
  .commercialHero{ padding:22px 18px 18px; }
  .commercialBody{ padding:18px; }
  .commercialLogo{ width:72px; height:72px; border-radius:20px; }
  .commercialHead h2{ font-size:28px; }
  .leadText h3{ font-size:22px; }
  .commercialCard{ width:min(100vw - 16px, 1120px); }
}


/* ======= AUTONOMOUS FOUNDATION v0.5.1 ======= */
.foundationStatus,
.pendingDocNotice{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:14px;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}
.foundationStatus{
  color:#166534;
  background:rgba(22,163,74,.08);
  border:1px solid rgba(22,163,74,.16);
}
.foundationStatus.isError{
  color:#991b1b;
  background:rgba(239,68,68,.08);
  border-color:rgba(239,68,68,.18);
}
.pendingDocNotice{
  color:#075985;
  background:rgba(14,165,233,.08);
  border:1px solid rgba(14,165,233,.16);
}
.previewRibbon{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:220;
  padding:9px 12px;
  border-radius:999px;
  color:#fff;
  background:#064e3b;
  box-shadow:0 12px 24px rgba(6,78,59,.22);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* ===== v0.8.0 ADMINISTRATION + COMMAND CENTER ===== */
.commandCard{width:min(980px, 96vw); max-height:94vh; overflow:auto;}
.adminWideCard{width:min(1120px, 98vw); max-height:94vh; overflow:auto;}
.inlineField{display:flex; gap:8px; align-items:center;}
.inlineField input{flex:1; min-width:0;}
.detailGrid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; margin:12px 0;}
.detailBox{padding:12px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.72); display:flex; flex-direction:column; gap:5px;}
.detailBox span{font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:var(--muted);}
.detailBox strong{font-size:13px; overflow-wrap:anywhere;}
.detailText{padding:12px; border:1px solid var(--line); border-radius:16px; background:#fff; min-height:46px; white-space:pre-wrap; font-size:13px; line-height:1.5;}
.subPanel{margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:20px; background:rgba(6,95,70,.025);}
.commandActions{display:flex; justify-content:flex-end; align-items:center; gap:8px; flex-wrap:wrap; margin-top:10px;}
.field textarea{width:100%; resize:vertical; background:#fff; border:1px solid rgba(6,95,70,.12); border-radius:16px; padding:13px 12px; color:var(--ink); outline:none; font:inherit; box-shadow:0 10px 22px rgba(6,95,70,.06);}
.adminSplit{display:grid; grid-template-columns:310px minmax(0,1fr); gap:16px; align-items:start;}
.adminSide{position:sticky; top:0;}
.adminMain{min-width:0;}
.adminList{display:flex; flex-direction:column; gap:7px; max-height:420px; overflow:auto; margin-top:10px;}
.adminListItem{border:1px solid var(--line); border-radius:15px; background:#fff; padding:10px 11px; cursor:pointer; display:flex; justify-content:space-between; gap:10px; align-items:flex-start;}
.adminListItem:hover,.adminListItem.active{background:rgba(22,163,74,.07); border-color:rgba(22,163,74,.20);}
.adminListItem .main{font-size:12px; font-weight:900;}
.adminListItem .sub{font-size:11px; color:var(--muted); margin-top:3px;}
.commandStats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0;}
.commandStats>div{padding:14px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(180deg,#fff,rgba(22,163,74,.04)); text-align:center;}
.commandStats strong{display:block; font-size:24px; color:var(--brandDark);}
.commandStats span{font-size:11px; color:var(--muted); font-weight:800;}
.channelRow{display:flex; gap:18px; flex-wrap:wrap; padding:10px 0; font-size:13px; font-weight:900;}
.channelRow label{display:flex; align-items:center; gap:7px;}
.recipientList{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; max-height:220px; overflow:auto;}
.recipientCard{border:1px solid var(--line); border-radius:14px; background:#fff; padding:9px 10px;}
.recipientCard strong{display:block; font-size:12px;}
.recipientCard span{display:block; margin-top:3px; color:var(--muted); font-size:11px; overflow-wrap:anywhere;}
@media(max-width:900px){.adminSplit{grid-template-columns:1fr}.adminSide{position:static}.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.detailGrid,.commandStats,.recipientList{grid-template-columns:1fr}.inlineField{align-items:stretch; flex-direction:column}.commandActions>*{flex:1 1 auto}.adminWideCard,.commandCard{width:98vw; border-radius:20px;}}

/* ===== v0.8.3 NOTIFICATION DELIVERY ===== */
.notificationProviders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 14px;}
.notificationProviders>div{padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.82);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.notificationProviders span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.notificationProviders strong{font-size:11px;color:var(--brandDark);text-align:right;}
.whatsappQueue{display:flex;flex-direction:column;gap:7px;max-height:280px;overflow:auto;}
.whatsappQueueItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:15px;background:#fff;}
.whatsappQueueItem .main{font-size:12px;font-weight:900;}
.whatsappQueueItem .sub{font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere;}
.whatsappQueueActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.deliverySummary{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px;}
.deliveryPill{font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px;background:rgba(6,95,70,.07);color:var(--brandDark);}
.deliveryPill.failed{background:rgba(239,68,68,.08);color:#991b1b;}
.deliveryPill.pending{background:rgba(245,158,11,.10);color:#92400e;}
.historyActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:620px){.notificationProviders{grid-template-columns:1fr}.whatsappQueueItem{grid-template-columns:1fr}.whatsappQueueActions,.historyActions{justify-content:flex-start;}}

/* v0.8.4 - centre de commandement : selection explicite des destinataires */
.commandBlock{padding:14px 0;border-top:1px solid var(--line);}
.commandBlock:first-of-type{border-top:0;padding-top:4px;}
.commandBlockTitle{font-size:12px;font-weight:950;color:var(--ink);margin-bottom:10px;letter-spacing:.01em;}
.recipientToolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center;margin-bottom:8px;}
.recipientToolbar input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:13px;padding:9px 11px;background:#fff;color:var(--ink);outline:none;}
.recipientToolbar input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(22,163,74,.10);}
.recipientSelectionSummary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:7px 9px;margin-bottom:9px;border-radius:12px;background:rgba(22,163,74,.06);font-size:11px;color:var(--muted);}
.recipientSelectionSummary strong{color:var(--brandDark);font-size:12px;}
.selectableRecipients{max-height:300px;}
.recipientSelectable{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}
.recipientSelectable:hover{border-color:rgba(22,163,74,.45);}
.recipientSelectable.selected{border-color:var(--brand);background:rgba(22,163,74,.055);box-shadow:0 0 0 2px rgba(22,163,74,.08);}
.recipientSelectable>input{width:17px;height:17px;accent-color:var(--brand);}
.recipientCardBody{min-width:0;}
.recipientCardBody small{display:block;margin-top:3px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.recipientContactBadges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.recipientContactBadges span{display:inline-flex!important;margin:0!important;padding:4px 7px;border-radius:999px;background:rgba(22,163,74,.08);color:var(--brandDark)!important;font-size:9px!important;font-weight:900;white-space:nowrap;}
.recipientContactBadges span.missing{background:rgba(148,163,184,.15);color:var(--muted)!important;}
.commandAutoHint{font-size:10px;color:var(--muted);margin:-3px 0 10px;}
.commandSendBlock{padding-bottom:8px;}
.commandPrimaryActions{padding-top:2px;}
.commandSendPrimary{min-width:230px;}
.legacyCommandAction{display:none!important;}
@media(max-width:720px){.recipientToolbar{grid-template-columns:1fr 1fr}.recipientToolbar input{grid-column:1/-1}.recipientSelectable{grid-template-columns:auto minmax(0,1fr)}.recipientContactBadges{grid-column:2;justify-content:flex-start}.commandSendPrimary{min-width:0;width:100%;}}

/* ========================================================================== 
   KIBARU v0.9.0 — GEMINI TECH UI REBUILD
   Refonte visuelle totale. La couleur KIBARU reste la couleur primaire.
   ========================================================================== */
:root{
  --gt-bg:#f7f9fc;
  --gt-bg-strong:#eef3f8;
  --gt-surface:rgba(255,255,255,.92);
  --gt-surface-solid:#ffffff;
  --gt-surface-soft:#f3f7f5;
  --gt-ink:#17201c;
  --gt-muted:#6b756f;
  --gt-line:rgba(30,52,43,.10);
  --gt-line-strong:rgba(30,52,43,.16);
  --gt-brand:#16a34a;
  --gt-brand-2:#10b981;
  --gt-brand-dark:#12663a;
  --gt-brand-soft:#e8f8ee;
  --gt-blue:#5f6fff;
  --gt-violet:#8b5cf6;
  --gt-cyan:#22c1c3;
  --gt-danger:#d9485f;
  --gt-warning:#c98518;
  --gt-radius-xl:30px;
  --gt-radius-lg:24px;
  --gt-radius-md:18px;
  --gt-radius-sm:14px;
  --gt-shadow:0 24px 70px rgba(36,55,47,.10);
  --gt-shadow-soft:0 12px 32px rgba(36,55,47,.08);
}

html{background:var(--gt-bg);}
body{
  background:
    radial-gradient(900px 520px at 0% 0%, rgba(22,163,74,.10), transparent 62%),
    radial-gradient(760px 480px at 100% 2%, rgba(95,111,255,.08), transparent 58%),
    radial-gradient(720px 520px at 90% 100%, rgba(34,193,195,.07), transparent 58%),
    var(--gt-bg);
  color:var(--gt-ink);
  font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing:-.005em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(32,62,49,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,62,49,.018) 1px, transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom, black, transparent 72%);
}

button,.btnLink,input,select,textarea{font:inherit;}
button,.btnLink{
  border-radius:999px;
  font-weight:780;
  letter-spacing:-.01em;
  box-shadow:none;
}
button:hover,.btnLink:hover{transform:none;}
button:focus-visible,.btnLink:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(22,163,74,.20);
  outline-offset:2px;
}
.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--gt-brand-dark),var(--gt-brand) 58%,var(--gt-brand-2));
  box-shadow:0 10px 26px rgba(22,163,74,.22);
}
.primary:hover{box-shadow:0 14px 32px rgba(22,163,74,.28);}
.ghost{
  color:var(--gt-ink);
  background:rgba(255,255,255,.78);
  border:1px solid var(--gt-line);
  box-shadow:none;
}
.ghost:hover{background:#fff;border-color:var(--gt-line-strong);}
.compactAction{padding:9px 13px;min-height:38px;font-size:12px;}
.commandAccent{
  color:var(--gt-brand-dark);
  background:linear-gradient(135deg,rgba(22,163,74,.10),rgba(95,111,255,.07));
  border-color:rgba(22,163,74,.18);
}

/* ---- App shell ---- */
.geminiApp{
  min-height:100vh;
  grid-template-columns:248px minmax(0,1fr);
  background:transparent;
}
.geminiRail{
  position:sticky;
  top:0;
  height:100vh;
  padding:22px 16px;
  display:flex;
  flex-direction:column;
  gap:24px;
  border-right:1px solid rgba(32,62,49,.08);
  background:rgba(247,249,252,.72);
  backdrop-filter:blur(24px) saturate(130%);
  z-index:40;
}
.railBrand{display:flex;align-items:center;gap:12px;padding:4px 8px 12px;}
.railLogoWrap{
  width:44px;height:44px;border-radius:16px;padding:5px;
  background:linear-gradient(145deg,#fff,rgba(232,248,238,.92));
  border:1px solid rgba(22,163,74,.16);
  box-shadow:0 12px 26px rgba(22,163,74,.10);
  display:grid;place-items:center;
}
.railLogo{width:100%;height:100%;border:0;box-shadow:none;background:transparent;border-radius:12px;}
.railBrandCopy{min-width:0;display:flex;flex-direction:column;gap:2px;}
.railBrandCopy strong{font-size:15px;font-weight:850;color:var(--gt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.railBrandCopy span{font-size:11px;color:var(--gt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.railNav{display:flex;flex-direction:column;gap:7px;}
.railFooter{margin-top:auto;display:flex;flex-direction:column;gap:7px;padding-top:14px;border-top:1px solid var(--gt-line);}
.railAction{
  width:100%;min-height:48px;padding:9px 12px;border:0;border-radius:17px;
  display:flex;align-items:center;justify-content:flex-start;gap:12px;
  color:#4d5b54;background:transparent;box-shadow:none;font-size:13px;font-weight:740;
}
.railAction:hover{background:rgba(255,255,255,.72);color:var(--gt-ink);}
.railActionActive{
  background:linear-gradient(135deg,rgba(22,163,74,.13),rgba(16,185,129,.07));
  color:var(--gt-brand-dark);
}
.railIcon{width:30px;height:30px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.74);border:1px solid rgba(32,62,49,.07);flex:0 0 auto;}
.railActionActive .railIcon{background:rgba(255,255,255,.9);border-color:rgba(22,163,74,.14);}
.railIcon svg{width:17px;height:17px;fill:currentColor;}
.railLogout{color:#a23c4d;}
.railLogout .railIcon{background:rgba(217,72,95,.07);}

.geminiCanvas{min-width:0;padding:0 28px 28px;}
.geminiTopbar{
  min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  position:sticky;top:0;z-index:30;
  background:linear-gradient(180deg,rgba(247,249,252,.94) 0%,rgba(247,249,252,.82) 75%,rgba(247,249,252,0) 100%);
  backdrop-filter:blur(18px);
}
.topbarTitleGroup{display:flex;align-items:center;gap:12px;}
.topbarTitleGroup h1{margin:2px 0 0;font-size:23px;font-weight:840;letter-spacing:-.035em;}
.techKicker{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.13em;color:var(--gt-muted);}
.mobileBrandMark{display:none;width:36px;height:36px;border-radius:12px;background:#fff;border:1px solid var(--gt-line);padding:5px;}
.mobileBrandMark img{width:100%;height:100%;object-fit:contain;}
.topbarIdentity{display:flex;align-items:center;gap:12px;}
.identityCopy{text-align:right;display:flex;flex-direction:column;gap:2px;}
.identityCopy strong{font-size:13px;}
.identityCopy span{font-size:10px;color:var(--gt-muted);}
.techStatusPill{background:#fff;color:var(--gt-brand-dark);border-color:rgba(22,163,74,.12);box-shadow:var(--gt-shadow-soft);}

.geminiHeroStrip{
  margin:4px 0 20px;padding:18px 20px;border-radius:var(--gt-radius-lg);
  display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:20px;align-items:center;
  background:
    radial-gradient(420px 180px at 0 0,rgba(22,163,74,.16),transparent 68%),
    radial-gradient(480px 220px at 100% 100%,rgba(95,111,255,.09),transparent 70%),
    rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:var(--gt-shadow-soft);
  backdrop-filter:blur(18px);
}
.heroStripCopy{display:flex;align-items:center;gap:13px;min-width:0;}
.heroSpark{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:18px;background:linear-gradient(145deg,var(--gt-brand-dark),var(--gt-brand-2));box-shadow:0 12px 28px rgba(22,163,74,.22);flex:0 0 auto;}
.heroStripCopy div{display:flex;flex-direction:column;gap:4px;min-width:0;}
.heroStripCopy strong{font-size:14px;}
.heroStripCopy span:not(.heroSpark){font-size:11px;line-height:1.5;color:var(--gt-muted);}
.techSearchBox{
  min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;
  background:#fff;border:1px solid rgba(32,62,49,.09);border-radius:999px;
  box-shadow:0 8px 28px rgba(36,55,47,.06);
}
.techSearchBox svg{width:18px;height:18px;fill:none;stroke:#78827d;stroke-width:1.8;stroke-linecap:round;}
.techSearchBox input{width:100%;min-width:0;background:transparent;border:0;outline:0;color:var(--gt-ink);font-size:13px;padding:0;box-shadow:none;}
.techSearchBox input::placeholder{color:#9aa29e;}
.globalSearch{min-height:52px;}

.geminiWorkspace{display:grid;grid-template-columns:minmax(290px,370px) minmax(0,1fr);gap:18px;align-items:stretch;min-height:calc(100vh - 205px);}
.techSurface{
  background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);
  border-radius:var(--gt-radius-xl);box-shadow:var(--gt-shadow);
  backdrop-filter:blur(22px);overflow:hidden;
}
.libraryPanel,.documentPanel{min-height:620px;}
.libraryPanel{display:flex;flex-direction:column;}
.libraryHeader,.documentHeader{padding:20px 20px 14px;}
.libraryHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.libraryTitleRow{display:flex;align-items:center;gap:9px;margin-top:3px;}
.libraryTitleRow h2,.documentHeader h2{margin:0;font-size:20px;font-weight:840;letter-spacing:-.03em;}
.libraryCount{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;padding:0 8px;border-radius:999px;background:var(--gt-brand-soft);color:var(--gt-brand-dark);font-size:11px;font-weight:850;}
.filterBadge{padding:7px 10px;border-radius:999px;background:#f2f5f3;border:1px solid var(--gt-line);font-size:10px;color:var(--gt-muted);font-weight:800;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.libraryFilters{padding:0 16px 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-bottom:1px solid var(--gt-line);}
.libraryFilters label{display:flex;flex-direction:column;gap:5px;min-width:0;}
.libraryFilters label>span{font-size:9px;font-weight:820;text-transform:uppercase;letter-spacing:.08em;color:var(--gt-muted);padding-left:5px;}
.select{
  min-height:40px;width:100%;background:#f7f9f8;border:1px solid rgba(32,62,49,.08);border-radius:13px;
  padding:9px 30px 9px 11px;font-weight:700;font-size:11px;box-shadow:none;color:var(--gt-ink);
}
.select:focus{border-color:rgba(22,163,74,.35);box-shadow:0 0 0 3px rgba(22,163,74,.08);}
.techDocumentList{flex:1;max-height:none;padding:10px 9px 16px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(32,62,49,.16) transparent;}
.techDocumentList .section{margin:15px 9px 6px;color:#85908a;font-size:9px;letter-spacing:.12em;}
.techDocumentList .item{
  position:relative;margin:2px 0;padding:12px 12px 12px 14px;border-radius:17px;border:1px solid transparent;gap:5px;background:transparent;
}
.techDocumentList .item::before{content:"";position:absolute;left:4px;top:14px;bottom:14px;width:3px;border-radius:999px;background:transparent;}
.techDocumentList .item:hover{transform:none;background:#f7faf8;border-color:rgba(32,62,49,.06);}
.techDocumentList .item.active{background:linear-gradient(135deg,rgba(22,163,74,.10),rgba(95,111,255,.035));border-color:rgba(22,163,74,.13);}
.techDocumentList .item.active::before{background:linear-gradient(180deg,var(--gt-brand),var(--gt-brand-2));}
.techDocumentList .itemTitle{font-size:12px;line-height:1.35;font-weight:790;}
.techDocumentList .meta{font-size:10px;color:#7d8782;}
.techDocumentList .tag{font-size:8px;letter-spacing:.05em;padding:4px 7px;background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.10);color:var(--gt-brand-dark);}

.documentPanel{display:flex;flex-direction:column;min-width:0;}
.documentHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--gt-line);}
.documentHeading{min-width:0;}
.documentTitleLine{margin-top:3px;min-width:0;}
.documentTitleLine h2{max-width:540px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.documentActions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.techViewer{flex:1;height:auto;min-height:540px;background:linear-gradient(145deg,#f8faf9,#f0f4f2);}
.techViewer iframe{background:#fff;}
.techEmptyState{flex-direction:column;gap:8px;color:var(--gt-muted);}
.techEmptyState strong{font-size:15px;color:var(--gt-ink);}
.techEmptyState span{font-size:11px;max-width:310px;line-height:1.5;}
.emptyOrb{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,var(--gt-brand-soft));border:1px solid rgba(22,163,74,.12);box-shadow:0 14px 35px rgba(22,163,74,.09);margin-bottom:6px;}
.emptyOrb svg{width:28px;height:28px;fill:var(--gt-brand-dark);}
.workspaceFooter{padding:16px 8px 0;font-size:10px;color:#8b948f;text-align:center;}

/* ---- Forms & modals ---- */
.modal,.overlay{
  background:rgba(23,32,28,.36);
  backdrop-filter:blur(16px) saturate(120%);
}
.modal{padding:20px;}
.modalCard,.loginCard{
  border:1px solid rgba(255,255,255,.78);
  background:rgba(255,255,255,.96);
  border-radius:30px;
  box-shadow:0 32px 90px rgba(23,32,28,.22);
}
.modalCard{padding:20px;max-height:94vh;overflow:auto;}
.modalTop{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--gt-line);}
.modalTop .title{font-size:20px;letter-spacing:-.025em;}
.x,.iconClose{background:#f4f7f5;border:1px solid var(--gt-line);color:var(--gt-ink);box-shadow:none;padding:9px 13px;border-radius:999px;}
.field{gap:7px;margin-bottom:13px;}
.field label{font-size:10px;color:#65706a;font-weight:820;text-transform:uppercase;letter-spacing:.07em;}
.field input,.field textarea{
  min-height:44px;background:#f8faf9;border:1px solid rgba(32,62,49,.09);border-radius:14px;padding:11px 12px;
  color:var(--gt-ink);box-shadow:none;font-size:13px;
}
.field textarea{min-height:94px;line-height:1.55;}
.field input:focus,.field textarea:focus{border-color:rgba(22,163,74,.38);box-shadow:0 0 0 3px rgba(22,163,74,.08);}
.hint,.meta{color:var(--gt-muted);}
.err{color:#b6334d;}
.subPanel{background:#f8faf9;border:1px solid var(--gt-line);border-radius:20px;}
.detailBox,.detailText{background:#f8faf9;border-color:var(--gt-line);box-shadow:none;}
.detailBox span{color:#76807b;}
.commandActions{gap:8px;}

/* Login rebuilt visually without changing its functional IDs */
.loginCard{width:min(480px,94vw);overflow:hidden;}
.loginHero{
  position:relative;padding:28px 28px 24px;align-items:center;
  background:
    radial-gradient(380px 220px at 0 0,rgba(255,255,255,.15),transparent 70%),
    linear-gradient(145deg,#123e2a 0%,#12723f 52%,#14a65a 100%);
}
.loginHero::after{content:"";position:absolute;right:-45px;bottom:-70px;width:190px;height:190px;border-radius:999px;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 22px rgba(255,255,255,.035),0 0 0 45px rgba(255,255,255,.025);}
.logoBig{width:70px;height:70px;border-radius:22px;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.18);box-shadow:none;position:relative;z-index:1;}
.loginHero h2{font-size:20px;letter-spacing:-.02em;position:relative;z-index:1;}
.loginHero p{font-size:12px;position:relative;z-index:1;}
.loginBody{padding:24px 28px 28px;}
.loginRow{margin-top:6px;}
#loginBtn{min-width:150px;min-height:44px;}
.foundationStatus,.pendingDocNotice{border-radius:14px;background:#f4f8f5;border-color:var(--gt-line);color:var(--gt-muted);font-size:10px;}

/* Splash gets the same visual language */
.kibaruSplash{
  background:
    radial-gradient(760px 520px at 0 0,rgba(38,214,128,.22),transparent 65%),
    radial-gradient(760px 520px at 100% 100%,rgba(95,111,255,.13),transparent 64%),
    linear-gradient(145deg,#07120d,#0d2a1d 52%,#123e2a);
}
.kibaruSplashShell{border-radius:38px;border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.075);box-shadow:0 40px 110px rgba(0,0,0,.38);}
.kibaruSplashSeal{border-radius:34px;}
.kibaruSplashPills span{border-radius:999px;text-transform:none;letter-spacing:.01em;}

/* ---- Administration ---- */
.adminWideCard{width:min(1180px,98vw);padding:22px;}
.adminSplit{grid-template-columns:340px minmax(0,1fr);gap:20px;}
.adminSide{padding:12px;border-radius:22px;background:#f5f8f6;border:1px solid var(--gt-line);}
.adminList{gap:6px;}
.adminListItem{border-radius:16px;border-color:var(--gt-line);padding:11px 12px;box-shadow:none;}
.adminListItem:hover,.adminListItem.active{background:var(--gt-brand-soft);border-color:rgba(22,163,74,.14);}

/* ---- Command center: real command workspace ---- */
.commandCenterOverlay{padding:14px;align-items:center;}
.commandWorkspace{width:min(1380px,calc(100vw - 28px));height:min(940px,calc(100vh - 28px));max-height:none;padding:0;overflow:hidden;display:flex;flex-direction:column;background:rgba(250,252,251,.98);}
.commandWorkspaceHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px 15px;border-bottom:1px solid var(--gt-line);background:rgba(255,255,255,.72);}
.commandHeaderIdentity{display:flex;align-items:center;gap:13px;min-width:0;}
.commandHeaderIdentity .title{font-size:22px;letter-spacing:-.035em;}
.commandHeaderIdentity .meta{margin-top:2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px;}
.techIcon{display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,var(--gt-brand-soft),rgba(95,111,255,.07));color:var(--gt-brand-dark);border:1px solid rgba(22,163,74,.12);}
.techIconLarge{width:48px;height:48px;flex:0 0 auto;}
.techIcon svg{width:23px;height:23px;fill:currentColor;}
.commandDocumentStrip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 22px;background:#f4f7f5;border-bottom:1px solid var(--gt-line);}
.commandDocumentLink{min-width:0;}
.stripLabel{display:block;margin:0 0 6px 5px;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--gt-muted);}
.techInlineField input{min-height:40px;background:#fff;border-radius:13px;}
.compactStats{margin:0;grid-template-columns:repeat(3,92px);gap:7px;}
.compactStats>div{padding:9px 7px;border-radius:15px;background:#fff;}
.compactStats strong{font-size:18px;}
.compactStats span{font-size:9px;}
.commandMainGrid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(380px,.78fr) minmax(520px,1.22fr);gap:0;}
.commandPane{min-height:0;padding:18px 20px;overflow:auto;}
.recipientPane{border-right:1px solid var(--gt-line);background:rgba(248,250,249,.76);display:flex;flex-direction:column;}
.composerPane{background:#fff;}
.paneHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px;}
.paneHeading>div:first-child{min-width:0;}
.stepBadge{width:27px;height:27px;border-radius:10px;display:inline-grid;place-items:center;margin-bottom:8px;background:linear-gradient(145deg,var(--gt-brand-soft),rgba(95,111,255,.08));color:var(--gt-brand-dark);font-size:9px;font-weight:900;}
.paneHeading h3,.deliveryPanelHead h3{margin:0;font-size:17px;letter-spacing:-.025em;}
.paneHeading p{margin:5px 0 0;font-size:10px;line-height:1.5;color:var(--gt-muted);max-width:470px;}
.techRecipientToolbar{display:block;margin-bottom:10px;}
.techRecipientToolbar .techSearchBox{min-height:43px;background:#fff;}
.recipientBulkActions{display:flex;align-items:center;gap:6px;margin-top:8px;}
.recipientBulkActions .ghost{flex:1;}
.techSelectionSummary{padding:9px 11px;border-radius:14px;background:linear-gradient(135deg,rgba(22,163,74,.08),rgba(95,111,255,.04));border:1px solid rgba(22,163,74,.10);font-size:10px;}
.techSelectionSummary .selectionPrimary{margin-right:auto;color:var(--gt-ink);}
.techRecipientList{display:flex;flex-direction:column;gap:7px;flex:1;max-height:none;min-height:260px;overflow:auto;padding:2px 3px 6px 0;}
.recipientLoadingState{min-height:160px;border:1px dashed var(--gt-line);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gt-muted);font-size:11px;}
.miniSpinner{width:22px;height:22px;border:2px solid rgba(22,163,74,.15);border-top-color:var(--gt-brand);border-radius:999px;animation:spin .8s linear infinite;}
.recipientSelectable{
  width:100%;grid-template-columns:auto auto minmax(0,1fr) auto;gap:10px;padding:10px 11px;border-radius:18px;
  background:#fff;border:1px solid rgba(32,62,49,.08);box-shadow:0 6px 18px rgba(36,55,47,.035);
}
.recipientSelectable:hover{background:#fff;border-color:rgba(22,163,74,.22);}
.recipientSelectable.selected{background:linear-gradient(135deg,rgba(22,163,74,.10),rgba(95,111,255,.035));border-color:rgba(22,163,74,.28);box-shadow:0 0 0 2px rgba(22,163,74,.05);}
.recipientSelectable>input{width:18px;height:18px;accent-color:var(--gt-brand);}
.recipientAvatar{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--gt-brand-soft),#fff);border:1px solid rgba(22,163,74,.12);color:var(--gt-brand-dark);font-size:10px;font-weight:900;flex:0 0 auto;}
.recipientCardBody strong{font-size:11px;}
.recipientCardBody span{font-size:10px;margin-top:2px;}
.recipientCardBody small{font-size:9px;}
.recipientContactBadges{max-width:106px;}
.recipientContactBadges span{font-size:8px!important;padding:4px 6px;}
.recipientEmptyState{padding:24px 16px;border:1px dashed var(--gt-line);border-radius:18px;text-align:center;background:#fff;}
.recipientEmptyState strong{display:block;margin-bottom:5px;font-size:12px;}
.recipientEmptyState span{display:block;color:var(--gt-muted);font-size:10px;line-height:1.5;}

.messageScenarioRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;}
.compactField{margin-bottom:0;}
.regenerateAction{margin-bottom:0;}
.commandAutoHint{margin:8px 0 13px;padding:9px 11px;border-radius:13px;background:rgba(95,111,255,.055);color:#65708a;font-size:9px;line-height:1.45;}
.deliveryPanel{margin-top:12px;padding:14px;border-radius:22px;background:#f6f9f7;border:1px solid var(--gt-line);}
.deliveryPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.deliveryPanelHead .stepBadge{margin-bottom:5px;}
.compactProviders{margin:0;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.compactProviders>div{padding:6px 8px;border-radius:11px;background:#fff;gap:6px;}
.compactProviders span{font-size:8px;}
.compactProviders strong{font-size:8px;max-width:150px;}
.channelCards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px;}
.channelCard{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:9px;align-items:center;padding:11px;border-radius:17px;background:#fff;border:1px solid var(--gt-line);cursor:pointer;}
.channelCard:has(input:checked){border-color:rgba(22,163,74,.25);background:linear-gradient(135deg,rgba(22,163,74,.075),#fff);}
.channelCard>input{width:17px;height:17px;accent-color:var(--gt-brand);}
.channelMark{width:31px;height:31px;border-radius:11px;display:grid;place-items:center;background:#f3f7f4;color:var(--gt-brand-dark);}
.channelMark svg{width:17px;height:17px;fill:currentColor;}
.channelCard span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0;}
.channelCard strong{font-size:10px;}
.channelCard small{font-size:8px;color:var(--gt-muted);line-height:1.35;}
.commandPrimaryActions{margin-top:8px;}
.commandSendPrimary{min-width:250px;}
.legacyCommandAction{display:none!important;}
.commandActivityGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 18px;background:#f4f7f5;border-top:1px solid var(--gt-line);max-height:190px;overflow:hidden;}
.activityCard{min-width:0;overflow:auto;padding:11px;border-radius:16px;background:#fff;border:1px solid var(--gt-line);}
.activityTitle{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;}
.activityTitle span{font-size:9px;color:var(--gt-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:850;}
.activityTitle strong{font-size:10px;}
.commandFoot{margin:0 18px 12px;padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.66);font-size:9px;}
.whatsappQueueItem{padding:8px 9px;border-radius:13px;}
.whatsappQueueItem .main,.adminListItem .main{font-size:10px;}
.whatsappQueueItem .sub,.adminListItem .sub{font-size:9px;}

/* ---- Commercial modal brought into the same visual system ---- */
.commercialModal{background:rgba(23,32,28,.34);}
.commercialModal .commercialCard{border-radius:32px;background:rgba(255,255,255,.98);border-color:rgba(255,255,255,.8);box-shadow:0 34px 100px rgba(23,32,28,.22);overflow:hidden;}
.commercialHero{background:radial-gradient(520px 260px at 0 0,rgba(22,163,74,.14),transparent 62%),radial-gradient(480px 260px at 100% 0,rgba(95,111,255,.08),transparent 62%),#f8faf9;}
.commercialBadge,.commercialLogo,.featureCard,.audienceCard,.statCard,.leadText{box-shadow:none;border-color:var(--gt-line);}
.commercialLogo{border-radius:22px;}
.featureCard,.audienceCard,.statCard,.leadText,.closingBand{border-radius:20px;}

/* ---- Tiny generic states ---- */
.loading{background:rgba(248,250,249,.72);}
.spinner{border-color:rgba(22,163,74,.14);border-top-color:var(--gt-brand);}
.toast{border-radius:18px;border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.96);box-shadow:0 18px 54px rgba(23,32,28,.14);backdrop-filter:blur(12px);}
.topProgress .bar{background:linear-gradient(90deg,var(--gt-brand),var(--gt-cyan),var(--gt-blue));}
.previewRibbon{background:linear-gradient(135deg,var(--gt-brand-dark),var(--gt-brand));border:1px solid rgba(255,255,255,.18);}

/* ---- Responsive ---- */
@media (max-width:1120px){
  .geminiApp{grid-template-columns:88px minmax(0,1fr);}
  .geminiRail{padding:18px 10px;align-items:center;}
  .railBrand{padding:4px;}
  .railBrandCopy,.railAction>span:last-child{display:none;}
  .railNav,.railFooter{width:100%;align-items:center;}
  .railAction{width:54px;height:50px;padding:8px;justify-content:center;margin:0 auto;}
  .railIcon{width:34px;height:34px;}
  .geminiWorkspace{grid-template-columns:minmax(270px,330px) minmax(0,1fr);}
  .commandMainGrid{grid-template-columns:minmax(330px,.8fr) minmax(470px,1.2fr);}
}
@media (max-width:900px){
  .geminiApp{display:block;}
  .geminiRail{position:sticky;top:0;width:100%;height:auto;min-height:68px;padding:9px 12px;flex-direction:row;align-items:center;gap:10px;border-right:0;border-bottom:1px solid var(--gt-line);overflow-x:auto;}
  .railBrand{display:none;}
  .railNav{flex-direction:row;width:auto;gap:5px;}
  .railFooter{margin:0 0 0 auto;padding:0;border:0;flex-direction:row;width:auto;}
  .railAction{width:44px;height:44px;min-height:44px;flex:0 0 44px;border-radius:14px;}
  .railIcon{width:30px;height:30px;}
  .geminiCanvas{padding:0 16px 20px;}
  .mobileBrandMark{display:grid;place-items:center;}
  .geminiTopbar{min-height:74px;}
  .geminiHeroStrip{grid-template-columns:1fr;gap:13px;}
  .geminiWorkspace{grid-template-columns:1fr;min-height:0;}
  .libraryPanel,.documentPanel{min-height:0;}
  .techDocumentList{max-height:410px;}
  .techViewer{min-height:520px;}
  .commandWorkspace{height:calc(100vh - 20px);width:calc(100vw - 20px);}
  .commandMainGrid{grid-template-columns:1fr;overflow:auto;}
  .recipientPane{border-right:0;border-bottom:1px solid var(--gt-line);min-height:480px;overflow:visible;}
  .composerPane{overflow:visible;}
  .techRecipientList{max-height:360px;min-height:240px;}
  .commandActivityGrid{max-height:none;grid-template-columns:1fr;overflow:visible;}
  .commandDocumentStrip{grid-template-columns:1fr;}
  .compactStats{grid-template-columns:repeat(3,1fr);}
  .adminSplit{grid-template-columns:1fr;}
  .adminSide{position:static;}
}
@media (max-width:640px){
  .geminiCanvas{padding:0 10px 16px;}
  .geminiTopbar{align-items:flex-start;padding:12px 2px;min-height:78px;}
  .topbarTitleGroup h1{font-size:19px;}
  .identityCopy{display:none;}
  .geminiHeroStrip{padding:15px;border-radius:20px;}
  .heroStripCopy span:not(.heroSpark){display:none;}
  .heroSpark{width:38px;height:38px;border-radius:13px;}
  .techSurface{border-radius:22px;}
  .libraryHeader,.documentHeader{padding:16px 15px 12px;}
  .libraryFilters{grid-template-columns:1fr;padding:0 12px 12px;}
  .documentHeader{align-items:flex-start;flex-direction:column;}
  .documentActions{width:100%;justify-content:flex-start;}
  .documentActions>*{flex:1 1 auto;}
  .techViewer{min-height:430px;}
  .modal{padding:8px;}
  .modalCard{border-radius:22px;padding:15px;}
  .commandWorkspace{width:calc(100vw - 12px);height:calc(100vh - 12px);border-radius:24px;padding:0;}
  .commandWorkspaceHeader{padding:15px;}
  .commandHeaderIdentity .title{font-size:18px;}
  .techIconLarge{width:42px;height:42px;border-radius:14px;}
  .commandDocumentStrip{padding:12px 15px;}
  .commandPane{padding:15px;}
  .messageScenarioRow{grid-template-columns:1fr;}
  .regenerateAction{justify-self:start;}
  .channelCards{grid-template-columns:1fr;}
  .commandPrimaryActions>*{width:100%;}
  .commandActivityGrid{padding:10px;}
  .recipientSelectable{grid-template-columns:auto auto minmax(0,1fr);}
  .recipientContactBadges{grid-column:3;justify-content:flex-start;max-width:none;}
  .commandFoot{margin:0 10px 10px;}
  .loginHero{padding:24px 20px 20px;}
  .loginBody{padding:20px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

/* v0.9.3 — Partage rapide manuel */
.quickShareOverlay .quickShareCard{
  width:min(820px,calc(100vw - 32px));
  max-height:min(88vh,900px);
  overflow:auto;
}
.quickShareBody{
  display:grid;
  gap:18px;
  padding:18px 22px 22px;
}
.quickShareSection{
  border:1px solid var(--line,#e3e7ee);
  border-radius:24px;
  background:var(--panel,#fff);
  padding:20px;
  box-shadow:0 12px 30px rgba(31,41,55,.06);
}
.quickShareSectionHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.quickShareSectionHead h3{margin:5px 0 4px;font-size:18px;}
.quickShareSectionHead p{margin:0;color:var(--muted,#667085);font-size:13px;line-height:1.5;}
.quickShareLinkField{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;}
.quickShareComposer textarea{min-height:220px;resize:vertical;line-height:1.55;}
.quickShareScenario{grid-template-columns:minmax(220px,360px);margin-bottom:12px;}
.quickShareActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.quickShareActions .shareAction{
  border:0;
  border-radius:14px;
  min-height:44px;
  padding:0 18px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.quickShareActions .whatsappShareAction{background:#eafaf1;color:#147a46;}
.quickShareActions .emailShareAction{background:var(--brand,#0b57d0);color:#fff;}
.quickShareHint{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:color-mix(in srgb,var(--brand,#0b57d0) 7%,#fff);
  color:var(--muted,#667085);
  font-size:12px;
  line-height:1.5;
}
.quickShareFoot{text-align:left;}
.commandCompatibility[hidden]{display:none!important;}
@media (max-width:640px){
  .quickShareOverlay .quickShareCard{width:min(100vw - 16px,820px);border-radius:24px;}
  .quickShareBody{padding:12px;}
  .quickShareSection{padding:16px;border-radius:20px;}
  .quickShareSectionHead{display:block;}
  .quickShareSectionHead .regenerateAction{margin-top:12px;width:100%;}
  .quickShareLinkField{grid-template-columns:1fr;}
  .quickShareActions{display:grid;grid-template-columns:1fr;}
  .quickShareActions button{width:100%;}
}

/* v0.9.4 — Partage rapide avec destinataires KIBARU */
.quickShareOverlay .quickShareCard{width:min(980px,calc(100vw - 32px));}
.quickShareRecipientsSection{background:linear-gradient(180deg,#fff,rgba(22,163,74,.018));}
.recipientSummaryPill{
  display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border-radius:999px;
  background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.12);color:var(--brandDark,#166534);
  font-size:11px;font-weight:800;white-space:nowrap;
}
.recipientSummaryPill strong{font-size:14px;}
.quickRecipientToolbar{
  display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(170px,.7fr) minmax(200px,.9fr);
  gap:10px;align-items:end;margin-bottom:10px;
}
.quickRecipientToolbar .field{margin:0;}
.quickRecipientToolbar label{display:block;margin-bottom:6px;font-size:10px;font-weight:850;color:var(--muted,#667085);}
.quickRecipientToolbar input,.quickRecipientToolbar select{min-height:42px;}
.quickRecipientActions{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;
}
.quickRecipientStats{
  margin-left:auto;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted,#667085);font-size:10px;
}
.quickRecipientStats span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--line,#e3e7ee);}
.quickRecipientStats strong{color:var(--ink,#17201c);font-size:11px;}
.quickRecipientList{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto;
  padding:2px 4px 4px 0;scrollbar-gutter:stable;
}
.quickRecipientList .recipientCard{
  min-width:0;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:9px;align-items:center;
  padding:10px 11px;border-radius:17px;
}
.quickRecipientList .recipientCardBody small{white-space:normal;line-height:1.35;}
.quickRecipientList .recipientEmptyState{grid-column:1/-1;}
.quickShareActions .shareAction:disabled{
  opacity:.48;cursor:not-allowed;filter:saturate(.5);box-shadow:none;
}
.quickShareActions .shareAction:not(:disabled):hover{transform:translateY(-1px);}

@media (max-width:860px){
  .quickRecipientToolbar{grid-template-columns:1fr 1fr;}
  .quickRecipientSearchField{grid-column:1/-1;}
  .quickRecipientList{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .quickRecipientToolbar{grid-template-columns:1fr;}
  .quickRecipientSearchField{grid-column:auto;}
  .quickRecipientActions{display:grid;grid-template-columns:1fr 1fr;}
  .quickRecipientStats{grid-column:1/-1;margin-left:0;justify-content:flex-start;}
  .recipientSummaryPill{margin-top:12px;}
}

/* ======= v0.9.6 · SPLASH COMPACT PROFESSIONNEL =======
   Surcharge visuelle uniquement : le markup et les IDs historiques restent inchangés. */
.kibaruSplash{
  padding:18px;
  background:rgba(6, 24, 18, .42);
  backdrop-filter:blur(10px) saturate(112%);
  -webkit-backdrop-filter:blur(10px) saturate(112%);
}
.kibaruSplash::before{
  background:radial-gradient(circle at 50% 46%, rgba(110, 231, 183, .10), transparent 42%);
}
.kibaruSplashScene{
  display:none;
}
.kibaruSplashShell{
  width:min(390px, calc(100vw - 32px));
  padding:24px 24px 20px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(8, 45, 34, .96), rgba(5, 32, 25, .96));
  box-shadow:0 22px 58px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.kibaruSplashShell::before{
  background:linear-gradient(135deg, rgba(255,255,255,.055), transparent 42%);
}
.kibaruSplashSealWrap{
  width:82px;
  height:82px;
  margin:0 auto 14px;
}
.kibaruSplashRing.ringA{
  border-color:rgba(167, 243, 208, .22);
}
.kibaruSplashRing.ringB{
  inset:7px;
  border-color:rgba(167, 243, 208, .14);
}
.kibaruSplashSeal{
  inset:10px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,.07));
  box-shadow:0 10px 28px rgba(0,0,0,.22), 0 0 28px rgba(52, 211, 153, .10);
}
.kibaruSplashIcon{
  width:48px;
  height:48px;
  animation:none;
}
.kibaruSplashBrand{
  width:100%;
}
.kibaruSplashLogo{
  width:min(205px, 72%);
  animation:none;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.14));
}
.kibaruSplashLine{
  width:74px;
  height:2px;
  margin:13px auto 14px;
  background:linear-gradient(90deg, transparent, rgba(167,243,208,.92), transparent);
  box-shadow:none;
  animation:none;
}
.kibaruSplashCopy h1{
  font-size:20px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.01em;
}
.kibaruSplashCopy p{
  margin:6px auto 0;
  max-width:290px;
  font-size:12.5px;
  line-height:1.45;
  color:rgba(236,253,245,.72);
}
.kibaruSplashPills{
  display:none;
}
.kibaruSplashFooter{
  margin-top:17px;
}
.kibaruSplashMeta{
  margin-bottom:8px;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.02em;
  color:rgba(236,253,245,.58);
}
.kibaruSplashProgress{
  width:min(220px, 76%);
  height:4px;
  padding:0;
  border:0;
  background:rgba(255,255,255,.10);
  box-shadow:none;
}
.kibaruSplashProgress span{
  width:38%;
  background:linear-gradient(90deg, rgba(110,231,183,.30), rgba(110,231,183,.96), rgba(110,231,183,.30));
  box-shadow:0 0 12px rgba(110,231,183,.24);
}
@media (max-width: 520px){
  .kibaruSplash{
    padding:14px;
  }
  .kibaruSplashShell{
    width:min(350px, calc(100vw - 28px));
    padding:21px 18px 18px;
    border-radius:22px;
  }
  .kibaruSplashSealWrap{
    width:72px;
    height:72px;
    margin-bottom:12px;
  }
  .kibaruSplashSeal{
    inset:9px;
    border-radius:18px;
  }
  .kibaruSplashIcon{
    width:42px;
    height:42px;
  }
  .kibaruSplashLogo{
    width:min(188px, 74%);
  }
  .kibaruSplashCopy h1{
    font-size:18px;
  }
  .kibaruSplashCopy p{
    font-size:12px;
  }
  .kibaruSplashFooter{
    margin-top:14px;
  }
}
@media (max-height: 520px) and (orientation: landscape){
  .kibaruSplashShell{
    width:min(430px, calc(100vw - 30px));
    padding:14px 20px 13px;
  }
  .kibaruSplashSealWrap{
    width:58px;
    height:58px;
    margin-bottom:8px;
  }
  .kibaruSplashSeal{
    inset:7px;
    border-radius:15px;
  }
  .kibaruSplashIcon{
    width:34px;
    height:34px;
  }
  .kibaruSplashLogo{
    width:165px;
  }
  .kibaruSplashLine{
    margin:8px auto 8px;
  }
  .kibaruSplashCopy h1{
    font-size:17px;
  }
  .kibaruSplashCopy p{
    margin-top:3px;
    font-size:11.5px;
  }
  .kibaruSplashFooter{
    margin-top:10px;
  }
}

/* ========================================================================== */
/* v0.9.9 — Mobile Data List native-app + Tablet Gemini Tech Command Deck     */
/* ========================================================================== */
.mobileBackButton{
  display:none;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:7px 11px;
  border:1px solid var(--gt-line);
  border-radius:13px;
  background:#fff;
  color:var(--gt-brand-dark);
  font-size:11px;
  font-weight:850;
  box-shadow:none;
}
.mobileBackButton span:first-child{font-size:16px;line-height:1;}
.adminCredentialBox{
  margin-top:10px;
  padding:12px 13px;
  border:1px solid rgba(22,163,74,.18);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(22,163,74,.08),rgba(95,111,255,.035));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.adminCredentialBox[hidden]{display:none!important;}
.adminCredentialCopy{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;align-items:center;}
.adminCredentialCopy .techKicker{grid-column:1/-1;}
.adminCredentialCopy strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adminCredentialCopy code{font-size:11px;font-weight:800;color:var(--gt-brand-dark);background:rgba(255,255,255,.74);padding:5px 8px;border-radius:9px;word-break:break-all;}

/* Tablet: one active command panel at a time. */
@media (max-width:1024px){
  .geminiApp{display:block!important;min-height:100dvh;}
  .geminiRail{
    position:sticky;top:0;width:100%;height:auto;min-height:66px;
    padding:9px 14px;flex-direction:row;align-items:center;gap:10px;
    border-right:0;border-bottom:1px solid var(--gt-line);
    background:rgba(247,249,252,.92);backdrop-filter:blur(24px) saturate(135%);
    overflow-x:auto;overscroll-behavior-x:contain;
  }
  .railBrand{display:flex;padding:0;margin-right:6px;min-width:44px;}
  .railBrandCopy{display:none;}
  .railLogoWrap{width:40px;height:40px;border-radius:14px;}
  .railNav{flex-direction:row;width:auto;gap:5px;}
  .railFooter{margin:0 0 0 auto;padding:0;border:0;flex-direction:row;width:auto;}
  .railAction{width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:7px;justify-content:center;border-radius:14px;}
  .railAction>span:last-child{display:none;}
  .railIcon{width:30px;height:30px;}

  .geminiCanvas{padding:0 18px 22px;}
  .geminiTopbar{min-height:76px;}
  .mobileBrandMark{display:none;}
  .geminiHeroStrip{margin:2px 0 14px;padding:14px 16px;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);border-radius:22px;}
  .heroSpark{width:38px;height:38px;border-radius:13px;}
  .geminiWorkspace{display:block;min-height:calc(100dvh - 180px);}
  .libraryPanel,.documentPanel{min-height:calc(100dvh - 190px);}
  .documentPanel{display:none;}
  .geminiApp.document-open .libraryPanel{display:none;}
  .geminiApp.document-open .documentPanel{display:flex;}
  .geminiApp.document-open .mobileBackButton{display:inline-flex;}
  .techDocumentList{max-height:none;min-height:0;}
  .techViewer{min-height:calc(100dvh - 300px);}
  .workspaceFooter{display:none;}

  /* Tablet command/admin surfaces behave as a single deck instead of split panes. */
  .adminSplit,.commandMainGrid{grid-template-columns:1fr!important;}
  .adminSide,.recipientPane{position:static!important;border-right:0!important;border-bottom:1px solid var(--gt-line);}
  .adminList{max-height:280px;}
  .commandWorkspace{width:min(760px,calc(100vw - 24px));height:min(92dvh,920px);}
  .commandMainGrid{overflow:auto;}
  .recipientPane,.composerPane{overflow:visible!important;min-height:0!important;}
  .techRecipientList{max-height:300px;min-height:160px;}
}

/* Mobile: native-app data list and bottom navigation. */
@media (max-width:700px){
  body{background:#f7f9f8;}
  .geminiApp{padding-bottom:76px;}
  .geminiRail{
    position:fixed;left:8px;right:8px;bottom:8px;top:auto;
    width:auto;min-height:58px;height:58px;padding:6px 8px;
    border:1px solid rgba(32,62,49,.10);border-radius:20px;
    background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(23,32,28,.16);
    justify-content:center;overflow-x:auto;
  }
  .railBrand{display:none;}
  .railNav{flex:0 1 auto;justify-content:center;}
  .railFooter{margin:0;}
  .railAction{width:42px;height:42px;min-height:42px;flex-basis:42px;border-radius:13px;}
  .railIcon{width:29px;height:29px;border:0;background:transparent;}
  .railActionActive{background:var(--gt-brand-soft);}
  .railLogout{display:none;}

  .geminiCanvas{padding:0;}
  .geminiTopbar{
    position:sticky;top:0;z-index:25;min-height:64px;padding:10px 14px;
    background:rgba(247,249,248,.94);border-bottom:1px solid rgba(32,62,49,.06);
    backdrop-filter:blur(18px);
  }
  .topbarTitleGroup h1{font-size:18px;}
  .topbarTitleGroup .techKicker{font-size:8px;}
  .topbarIdentity .techStatusPill{font-size:8px;padding:5px 8px;}
  .identityCopy{display:none;}
  .geminiHeroStrip{
    margin:0;padding:10px 12px 12px;border-radius:0;border:0;border-bottom:1px solid var(--gt-line);
    box-shadow:none;background:#f7f9f8;display:block;
  }
  .heroStripCopy{display:none;}
  .globalSearch{min-height:44px;border-radius:14px;box-shadow:none;}

  .geminiWorkspace{min-height:calc(100dvh - 124px);}
  .techSurface{border-radius:0;border-left:0;border-right:0;box-shadow:none;background:#fff;backdrop-filter:none;}
  .libraryPanel,.documentPanel{min-height:calc(100dvh - 124px);}
  .libraryHeader{padding:14px 14px 10px;align-items:center;}
  .libraryTitleRow h2{font-size:18px;}
  .filterBadge{max-width:105px;}
  .libraryFilters{
    padding:0 12px 10px;grid-template-columns:1fr 1fr;gap:7px;
    background:#fff;border-bottom:1px solid var(--gt-line);
  }
  .libraryFilters label>span{font-size:8px;}
  .select{min-height:38px;border-radius:11px;background:#f5f7f6;font-size:10px;}

  .techDocumentList{padding:0;overflow:visible;background:#fff;}
  .techDocumentList .section{
    position:sticky;top:64px;z-index:2;margin:0;padding:9px 14px 7px;
    background:rgba(247,249,248,.96);border-top:1px solid rgba(32,62,49,.04);border-bottom:1px solid rgba(32,62,49,.05);
    color:#7d8782;font-size:8px;font-weight:850;
  }
  .techDocumentList .item{
    margin:0;padding:14px 15px;border:0;border-bottom:1px solid rgba(32,62,49,.075);
    border-radius:0;background:#fff;min-height:68px;
  }
  .techDocumentList .item::before{display:none;}
  .techDocumentList .item:hover{background:#fff;border-color:rgba(32,62,49,.075);}
  .techDocumentList .item:active{background:#f2f7f4;}
  .techDocumentList .item.active{background:#edf8f1;border-color:rgba(32,62,49,.075);}
  .techDocumentList .itemTitle{font-size:13px;font-weight:800;}
  .techDocumentList .meta{font-size:10px;margin-top:2px;}
  .techDocumentList .tag{font-size:7px;padding:3px 6px;}

  .documentHeader{padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;border-bottom:1px solid var(--gt-line);}
  .mobileBackButton{display:inline-flex;align-self:center;}
  .documentHeading{align-self:center;}
  .documentHeading .techKicker{display:none;}
  .documentTitleLine h2{font-size:16px;max-width:100%;}
  .documentActions{
    grid-column:1/-1;display:flex;width:100%;gap:6px;justify-content:flex-start;
    overflow-x:auto;padding-bottom:2px;scrollbar-width:none;flex-wrap:nowrap;
  }
  .documentActions::-webkit-scrollbar{display:none;}
  .documentActions>*{flex:0 0 auto;min-height:36px;padding:8px 11px;}
  .techViewer{min-height:calc(100dvh - 210px);border-radius:0;}
  .techEmptyState{padding:28px 18px;}

  /* Mobile modals become native bottom sheets. */
  .modal{padding:0;align-items:flex-end;}
  .modalCard,.adminWideCard,.commandCard,.quickShareOverlay .quickShareCard{
    width:100vw!important;max-width:none!important;max-height:92dvh!important;
    margin:0;border-radius:24px 24px 0 0!important;padding:15px!important;
    border-bottom:0;overflow:auto;
  }
  .adminCredentialBox{align-items:stretch;flex-direction:column;}
  .adminCredentialCopy{grid-template-columns:1fr;}
  .adminCredentialCopy .techKicker{grid-column:auto;}
  .adminCredentialBox .compactAction{width:100%;}
  .adminList{max-height:230px;}
  .grid2{grid-template-columns:1fr!important;}

  .kibaru-document-open{overflow:hidden;}
  .geminiApp.document-open .documentPanel{min-height:calc(100dvh - 76px);}
}
.fieldHint{display:block;margin-top:3px;color:var(--gt-muted,#6f7b75);font-size:9px;font-weight:650;text-transform:none;letter-spacing:0;}

/* KIBARU v0.9.11 — sécurité EMPLOYE + focus lien direct */
.kibaru-read-only #docDetailBtn,
.kibaru-read-only #docCopyLinkBtn,
.kibaru-read-only #docCommandBtn,
.kibaru-read-only #docAccessBtn,
.kibaru-read-only #addBtn,
.kibaru-read-only #refBtn,
.kibaru-read-only #usersBtn {
  display: none !important;
}

.directFocusBanner {
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--accent, #6750a4) 26%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, var(--accent, #6750a4) 8%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.directFocusBanner[hidden] { display: none !important; }
.directFocusBanner > div { min-width: 0; display: grid; gap: 3px; }
.directFocusBanner strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.directFocusBanner span:last-child { font-size: 12px; opacity: .72; }

.kibaru-direct-focus .libraryFilters select {
  pointer-events: none;
  cursor: default;
}

@media (max-width: 700px) {
  .directFocusBanner {
    align-items: stretch;
    flex-direction: column;
    border-radius: 16px;
  }
  .directFocusBanner strong { white-space: normal; }
  .directFocusBanner button { width: 100%; }
}

/* =========================================================
   KIBARU v0.9.12 - Journal utilisateur admin
   ========================================================= */
.auditLogOverlay{z-index:1600;background:rgba(15,23,42,.48);backdrop-filter:blur(10px);}
.auditLogCard{width:min(1180px,calc(100vw - 42px));height:min(820px,calc(100vh - 42px));max-width:none;display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:#f8fafc;border:1px solid rgba(148,163,184,.24);box-shadow:0 28px 80px rgba(15,23,42,.28);}
.auditLogTop{padding:20px 22px 16px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--gt-line);}
.auditStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px 22px 10px;}
.auditStat{min-width:0;padding:14px 15px;border:1px solid var(--gt-line);border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035);}
.auditStat span{display:block;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--gt-muted);}
.auditStat strong{display:block;margin-top:5px;font-size:24px;line-height:1;color:#172554;}
.auditStatDanger strong{color:#b42318;}
.auditFilters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(130px,1fr));gap:10px;align-items:end;padding:10px 22px 16px;border-bottom:1px solid var(--gt-line);}
.auditFilters .field{margin:0;min-width:0;}
.auditFilters .field label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--gt-muted);}
.auditFilters input,.auditFilters select{height:40px;border-radius:13px;}
.auditFilterActions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end;}
.auditListHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;font-size:12px;color:var(--gt-muted);}
.auditListHeader>span:first-child{font-weight:800;color:var(--gt-ink);}
.auditHint{font-size:11px;}
.auditList{flex:1;min-height:0;overflow:auto;padding:0 22px 12px;}
.auditRow{border:1px solid var(--gt-line);border-radius:16px;background:#fff;margin-bottom:8px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease;}
.auditRow[open]{border-color:rgba(59,130,246,.28);box-shadow:0 8px 24px rgba(15,23,42,.06);}
.auditRow summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:145px minmax(150px,.8fr) minmax(260px,1.8fr) 92px 120px;gap:12px;align-items:center;padding:13px 14px;}
.auditRow summary::-webkit-details-marker{display:none;}
.auditWhen,.auditIp{font-size:11px;color:var(--gt-muted);font-variant-numeric:tabular-nums;}
.auditActor,.auditAction{display:flex;flex-direction:column;min-width:0;gap:2px;}
.auditActor strong,.auditAction strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gt-ink);}
.auditActor span,.auditAction span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gt-muted);}
.auditOutcome{justify-self:start;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#eef2f7;color:#475569;}
.auditOutcome-success{background:#eaf8ef;color:#15703a;}
.auditOutcome-denied{background:#fff1f0;color:#b42318;}
.auditOutcome-failure,.auditOutcome-failed,.auditOutcome-error{background:#fff6e5;color:#9a5b00;}
.auditDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:14px;border-top:1px solid var(--gt-line);background:#f8fafc;}
.auditDetailLine{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;font-size:11px;min-width:0;}
.auditDetailLine span{color:var(--gt-muted);font-weight:700;}
.auditDetailLine strong{min-width:0;overflow-wrap:anywhere;font-weight:700;color:#334155;}
.auditMetadata{grid-column:1/-1;margin:4px 0 0;padding:12px;border-radius:12px;background:#0f172a;color:#dbeafe;font-size:10px;line-height:1.45;overflow:auto;max-height:180px;}
.auditEmpty{padding:34px 22px;text-align:center;color:var(--gt-muted);font-size:13px;}
.auditPager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 22px 16px;border-top:1px solid var(--gt-line);background:#fff;}
.auditPager span{min-width:110px;text-align:center;font-size:11px;font-weight:800;color:var(--gt-muted);}

@media (max-width:1024px){
  .auditLogCard{width:calc(100vw - 20px);height:calc(100vh - 20px);border-radius:22px;}
  .auditStats{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto;padding:12px 14px 8px;}
  .auditFilters{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 14px 14px;}
  .auditSearchField{grid-column:1/-1;}
  .auditList{padding:0 14px 10px;}
  .auditListHeader{padding:10px 14px;}
  .auditRow summary{grid-template-columns:115px minmax(130px,.8fr) minmax(190px,1.4fr) 80px;}
  .auditIp{display:none;}
}

@media (max-width:700px){
  .auditLogOverlay{padding:0;align-items:stretch;}
  .auditLogCard{width:100vw;height:100dvh;max-height:none;border-radius:0;border:0;}
  .auditLogTop{padding:15px 14px 12px;}
  .auditStats{grid-template-columns:repeat(5,126px);padding-inline:12px;}
  .auditStat{padding:11px 12px;border-radius:15px;}
  .auditStat strong{font-size:20px;}
  .auditFilters{grid-template-columns:1fr 1fr;padding:8px 12px 12px;gap:8px;}
  .auditFilters .field:nth-child(2),.auditFilters .field:nth-child(3),.auditFilters .field:nth-child(4){grid-column:span 1;}
  .auditFilterActions{justify-content:stretch;}
  .auditFilterActions button{flex:1;}
  .auditHint{display:none;}
  .auditRow summary{grid-template-columns:88px minmax(0,1fr) auto;gap:8px;padding:11px;}
  .auditAction{grid-column:2/3;}
  .auditActor{grid-row:2;grid-column:2/3;}
  .auditOutcome{grid-column:3;grid-row:1/3;align-self:center;}
  .auditIp{display:none;}
  .auditDetails{grid-template-columns:1fr;padding:12px;}
  .auditMetadata{grid-column:1;}
  .auditPager{padding:10px 12px calc(10px + env(safe-area-inset-bottom));justify-content:center;}
}

/* =========================================================
   KIBARU v0.9.16 - Journal grand format / lecture maximale
   ========================================================= */
@media (min-width:1025px){
  .auditLogOverlay{
    padding:14px;
  }
  .auditLogCard{
    width:min(1680px,calc(100vw - 28px));
    height:calc(100dvh - 28px);
    max-width:none;
    max-height:none;
    border-radius:22px;
  }
  .auditLogTop{
    margin-bottom:0;
    padding:14px 18px 12px;
  }
  .auditStats{
    gap:8px;
    padding:10px 18px 6px;
  }
  .auditStat{
    padding:10px 12px;
    border-radius:14px;
  }
  .auditStat strong{
    margin-top:3px;
    font-size:20px;
  }
  .auditFilters{
    grid-template-columns:minmax(220px,1.55fr) repeat(5,minmax(110px,1fr)) auto;
    gap:8px;
    padding:8px 18px 10px;
  }
  .auditFilters input,
  .auditFilters select{
    height:36px;
    min-height:36px;
  }
  .auditFilterActions{
    grid-column:auto;
    align-self:end;
    flex-wrap:nowrap;
  }
  .auditFilterActions button{
    min-height:36px;
    height:36px;
    padding-block:7px;
    white-space:nowrap;
  }
  .auditListHeader{
    padding:8px 18px;
  }
  .auditList{
    padding:0 18px 10px;
    scrollbar-gutter:stable;
  }
  .auditRow summary{
    padding:10px 12px;
  }
  .auditPager{
    flex:0 0 auto;
    padding:8px 18px 10px;
  }
}

@media (min-width:1500px){
  .auditLogCard{
    width:calc(100vw - 28px);
    max-width:1880px;
  }
  .auditRow summary{
    grid-template-columns:155px minmax(180px,.9fr) minmax(330px,2fr) 100px 150px;
  }
}


/* ========================================================================== */
/* v0.9.17 — Mobile employee reader: full viewport + lighter direct focus      */
/* ========================================================================== */
@media (max-width:700px){
  /* The direct-link context remains enforced, but the large helper banner is
     removed on phones. The Documents back action expands the authorized list. */
  .directFocusBanner{display:none!important;}

  /* Heavy management/notification actions are never rendered in the mobile
     document toolbar. Server permissions remain authoritative. */
  #docCommandBtn,
  #docAccessBtn{display:none!important;}

  /* Native-app document mode: no bottom rail overlay and no fixed viewer
     height. The reader consumes the exact space left by the live header. */
  body.kibaru-document-open{overflow:hidden;overscroll-behavior:none;}
  .geminiApp.document-open{
    width:100%;max-width:100vw;height:100dvh;min-height:100dvh;
    padding-bottom:0;overflow:hidden;
  }
  .geminiApp.document-open .geminiRail{display:none!important;}
  .geminiApp.document-open .geminiHeroStrip,
  .geminiApp.document-open .workspaceFooter{display:none!important;}
  .geminiApp.document-open .geminiCanvas{
    width:100%;max-width:100vw;height:100dvh;min-height:0;
    padding:0;display:flex;flex-direction:column;overflow:hidden;
  }
  .geminiApp.document-open .geminiTopbar{flex:0 0 auto;min-height:64px;}
  .geminiApp.document-open .geminiWorkspace{
    flex:1 1 auto;width:100%;max-width:100vw;height:auto;min-height:0;
    overflow:hidden;
  }
  .geminiApp.document-open .documentPanel{
    width:100%;max-width:100vw;height:100%;min-height:0;
    display:flex;flex-direction:column;overflow:hidden;
  }
  .geminiApp.document-open .documentHeader{flex:0 0 auto;width:100%;min-width:0;}
  .geminiApp.document-open .documentActions{min-width:0;}
  .geminiApp.document-open .techViewer{
    flex:1 1 auto;width:100%;max-width:100vw;height:auto;min-height:0;
    overflow:hidden;border-radius:0;
  }
  .geminiApp.document-open .techViewer iframe{
    display:block;width:100%!important;max-width:100%!important;
    min-width:0;height:100%!important;border:0;
  }
}

/* ===== v0.13.0 · Centre de diffusion ===== */
.diffusionCenterCard{width:min(1080px,calc(100vw - 28px))!important;max-height:94vh!important;}
.diffusionCenterBody{gap:16px;}
.diffusionDocumentSection{background:linear-gradient(180deg,#fff,rgba(95,111,255,.025));}
.diffusionDocumentPicker{margin-bottom:12px;}
.diffusionDocumentPicker .select{width:100%;min-height:46px;}
.diffusionSecurityBadge{
  display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;
  background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.14);color:#166534;
  font-size:10px;font-weight:850;white-space:nowrap;
}
.diffusionRightsSummary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-2px 0 12px;}
.diffusionRightsSummary span{
  padding:7px 10px;border-radius:999px;background:#f8faf9;border:1px solid var(--gt-line);
  color:var(--gt-muted);font-size:10px;font-weight:700;
}
.diffusionRightsSummary strong{color:var(--gt-ink);font-size:12px;}
.diffusionChannelCards{margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr));}
.diffusionTelegramDestination{margin-top:12px;padding:12px;border:1px solid var(--gt-line);border-radius:16px;background:#f8faf9;}
.diffusionTelegramDestination .select{width:100%;min-height:44px;}
.channelIcon{
  width:31px;height:31px;border-radius:11px;display:grid!important;place-items:center;
  background:#f3f7f4;color:var(--gt-brand-dark);font-size:11px;font-weight:900;
}
.diffusionPrimaryActions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;}
.diffusionPrimaryActions .primary{min-width:190px;}
.diffusionFallbackActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--gt-line);}
.diffusionFallbackActions>span{font-size:10px;font-weight:800;color:var(--gt-muted);margin-right:2px;}
.diffusionFallbackActions .shareAction{
  border:0;border-radius:13px;min-height:38px;padding:0 14px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;
}
.diffusionFallbackActions .shareAction:disabled{opacity:.48;cursor:not-allowed;}
.diffusionTrackingGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.diffusionTrackingGrid>div{min-width:0;padding:13px;border:1px solid var(--gt-line);border-radius:18px;background:#f8faf9;}
.diffusionTrackingGrid h4{margin:0 0 10px;font-size:12px;}
.diffusionTrackingGrid #commandHistory,.diffusionTrackingGrid #commandWhatsappQueue{display:grid;gap:8px;max-height:280px;overflow:auto;}
.diffusionTrackingGrid .adminListItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.diffusionTrackingGrid .deliverySummary{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;}

@media (max-width:760px){
  .diffusionCenterCard{width:min(100vw - 12px,1080px)!important;}
  .diffusionTrackingGrid{grid-template-columns:1fr;}
  .diffusionChannelCards{grid-template-columns:1fr;}
  .diffusionPrimaryActions{display:grid;grid-template-columns:1fr;}
  .diffusionPrimaryActions>*{width:100%;}
  .diffusionFallbackActions{display:grid;grid-template-columns:1fr;}
  .diffusionFallbackActions>span{margin-bottom:2px;}
  .diffusionFallbackActions .shareAction{width:100%;}
  .diffusionSecurityBadge{margin-top:10px;}
}

/* v0.15.1 - destructive document action */
.dangerAction{
  color:var(--danger, #ef4444);
  border-color:rgba(239,68,68,.24);
  background:#fff;
}
.dangerAction:hover{
  background:rgba(239,68,68,.06);
  border-color:rgba(239,68,68,.4);
}

