*{box-sizing:border-box}
:root{
  --ink:#102530;
  --muted:#71808a;
  --teal:#0b9496;
  --teal-dark:#087b7d;
  --coral:#d9835d;
  --bg:#f5f7f6;
  --panel:#fff;
  --line:#dfe6e5;
  --line-soft:#edf1f0;
  --dark:#08141c;
  --dark2:#0d1d27;
  --sans:Inter,"Segoe UI Variable","SF Pro Text","SF Pro Display",Roboto,Helvetica,Arial,system-ui,-apple-system,sans-serif;
  --shadow:0 8px 24px rgba(21,42,51,.045);
}
html{font-size:15px;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none}
body{margin:0;overscroll-behavior-y:none;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-image:radial-gradient(rgba(20,52,63,.035) .65px,transparent .65px);background-size:10px 10px}
a,button,input,textarea,select{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent;touch-action:manipulation }
:where(button,.btn,a.btn,.site-link,summary,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]){outline:none;-webkit-tap-highlight-color:transparent}
:where(button,.btn,a.btn,.site-link,summary,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]):focus{outline:none}
:where(button,.btn,a.btn,.site-link,summary,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]):focus-visible{box-shadow:0 0 0 3px rgba(11,148,150,.18);border-color:rgba(11,148,150,.46)}

/* Interface tactile : éviter la sélection accidentelle des libellés et éléments d'UI.
   La sélection reste disponible dans les contenus réellement utiles à copier. */
.app-brand,.app-side nav,.app-top,.site-link,.launcher-head,.launcher-card,.client-app-summary,.client-section-head,.client-app-card,.client-app-card-footer,.section-head,.badge,.btn,button,summary,label,h1,h2,h3{
  -webkit-user-select:none;user-select:none;
}
button,a,summary,.launcher-card,.site-link,.btn{
  -webkit-touch-callout:none;
}
input,textarea,select,option,code,pre,.message,.notice,.error,table td,table th{
  -webkit-user-select:text;user-select:text;
}

/* Authentification client : propre et compacte */
.auth-page{min-height:100vh;overflow-x:hidden;background:#f4f6f5;color:var(--ink)}
.auth-main{position:relative;min-height:100vh;display:grid;place-items:center;padding:34px 18px;overflow:hidden}
.auth-main:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(13,39,52,.045) .7px,transparent .7px);background-size:10px 10px}
.auth-main:after{content:"";position:absolute;width:540px;height:540px;right:-230px;top:-230px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(18,154,157,.105),rgba(18,154,157,.018) 48%,transparent 70%)}
.auth-card{position:relative;z-index:1;width:min(450px,100%);padding:30px;border:1px solid rgba(17,40,51,.12);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(16,37,48,.10);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.auth-card-accent{position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--teal),var(--coral))}
.auth-card-head>span{display:block;color:#087f83;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.auth-card-head h1{font-size:30px;line-height:1.08;letter-spacing:-.035em;font-weight:560;margin:6px 0 8px;color:#0b1d28}
.auth-card-head p{margin:0 0 21px;color:#687a83;font-size:13px;line-height:1.5}
.auth-error{margin:0 0 16px;padding:10px 12px;border:1px solid #f0c8c0;border-radius:9px;background:#fff2f0;color:#8d3e35;font-size:12px;line-height:1.45}
.auth-form label{display:block;margin:13px 0 6px;color:#29414c;font-size:12px;font-weight:600}
.auth-form input{width:100%;height:44px;padding:0 12px;border:1px solid #cbd6d8;border-radius:9px;background:#fcfdfc;color:#102836;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.auth-form input::placeholder{color:#9ba8ae}.auth-form input:focus{border-color:#1b9ca2;background:#fff;box-shadow:0 0 0 3px rgba(20,151,157,.09)}
.auth-submit{width:100%;min-height:44px;margin-top:19px;padding:0 16px;border:0;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--teal);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 8px 18px rgba(11,125,131,.15);transition:transform .15s ease,background .15s ease}
.auth-submit:hover{transform:translateY(-1px);background:var(--teal-dark)}
.auth-submit:focus-visible,.auth-card-foot a:focus-visible{outline:3px solid rgba(34,196,192,.28);outline-offset:3px}
.auth-card-foot{margin-top:19px;padding-top:15px;border-top:1px solid #e5eae9;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;color:#7b8b92}
.auth-card-foot a{color:#0a7f85;text-decoration:none;font-weight:600}.auth-card-foot a:hover{text-decoration:underline}
.auth-security-note{margin-top:14px;padding:10px 12px;border:1px solid #d8e6e5;border-radius:9px;background:#f6fbfa;display:grid;gap:2px;color:#526a72;font-size:11px}.auth-security-note strong{color:#0b6f74;font-weight:600}
.auth-card-wide{width:min(590px,100%)}.auth-success{padding:11px 13px;border:1px solid #bfe3d8;border-radius:9px;background:#edf9f4;color:#1d6d54;display:grid;gap:4px;font-size:12px}
.auth-recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:14px 0}.auth-recovery-grid code{padding:8px;border:1px solid #d8e1e1;border-radius:8px;background:#f8faf9;text-align:center;font-weight:600;letter-spacing:.04em}
.auth-link-button{text-decoration:none}.auth-steps{margin:0 0 14px;padding:12px;border:1px solid #e0e7e7;border-radius:9px;background:#fafcfc;color:#50666f;font-size:12px}.auth-steps p{margin:5px 0;line-height:1.45}.auth-setup-label{display:block;margin:12px 0 6px;color:#243c48;font-size:12px;font-weight:600}.auth-setup-key{padding:10px 12px;border:1px dashed #9db8ba;border-radius:8px;background:#f7fbfb;color:#15333e;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:600;letter-spacing:.05em;word-break:break-all}.compact-security-form{margin-top:13px}.compact-security-form label{margin-top:0}

/* Espace client */
.app-side-head{display:block}.mobile-client-menu{display:none}
.app-shell{min-height:100vh;display:grid;grid-template-columns:222px minmax(0,1fr)}
.app-side{background:linear-gradient(180deg,var(--dark),var(--dark2));color:#fff;border-right:1px solid rgba(255,255,255,.07);padding:20px 14px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.app-brand{display:inline-block;font-size:24px;line-height:1;font-weight:700;letter-spacing:-.035em;text-decoration:none;color:#fff;margin:2px 8px 22px}
.app-side nav{display:grid;gap:3px}.app-side nav a{text-decoration:none;padding:8px 10px;border-radius:8px;color:#b7c3c8;border:1px solid transparent;font-size:13px;font-weight:450;transition:background .14s ease,color .14s ease,border-color .14s ease}
.app-side nav a.active,.app-side nav a:hover{background:rgba(22,164,169,.105);color:#78d7d3;border-color:rgba(93,215,210,.10)}
.side-bottom{margin-top:auto;padding:13px 8px 0;border-top:1px solid rgba(255,255,255,.075)}
.client-user-line{display:flex;align-items:center;gap:9px;min-width:0}.client-avatar{width:29px;height:29px;flex:0 0 29px;border-radius:50%;display:grid;place-items:center;background:rgba(94,210,205,.13);border:1px solid rgba(94,210,205,.18);color:#83dad6;font-size:11px;font-weight:600}.user-name{font-weight:550;font-size:12px;color:#e8eef0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mail{max-width:145px;margin-top:2px;font-size:10px;color:#8fa0a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-bottom form{margin:10px 0 0}.side-bottom button{width:100%;padding:7px 9px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#bfcbd0;font-size:11px;cursor:pointer}.side-bottom button:hover{background:rgba(255,255,255,.04);color:#fff}

.app-main{padding:18px 22px 34px;min-width:0;max-width:1600px;width:100%;margin:0 auto}
.app-top{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;border-bottom:1px solid rgba(17,43,54,.07);padding-bottom:12px}
.app-top h1{margin:0;font-size:22px;line-height:1.15;letter-spacing:-.025em;font-weight:560;color:#102630}
.site-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border:1px solid #07898b;border-radius:8px;background:var(--teal);color:#fff;text-decoration:none;font-size:12px;font-weight:600;box-shadow:0 5px 14px rgba(11,148,150,.12);transition:background .15s ease,transform .15s ease}.site-link:hover{background:var(--teal-dark);transform:translateY(-1px)}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mt16{margin-top:10px}
.card,.section,.app-card{background:rgba(255,255,255,.90);border:1px solid var(--line);box-shadow:var(--shadow)}
.card{border-radius:12px;padding:14px}.card h2{margin:0 0 8px;font-size:15px;line-height:1.25;font-weight:600}.card p{margin:7px 0;font-size:13px;line-height:1.5}
.metric{font-size:23px;font-weight:580;letter-spacing:-.025em;margin-top:5px}.metric.small{font-size:17px;font-weight:560}.muted{color:var(--muted)}
.section{margin-top:12px;border-radius:12px;overflow:hidden}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line-soft)}.section-head h2{margin:0;font-size:14px;font-weight:600}.section-head a{font-size:12px;color:#087f83;text-decoration:none}.section-head a:hover{text-decoration:underline}
.p18{padding:13px}.empty{padding:22px;text-align:center;color:var(--muted);font-size:13px}.empty strong{font-weight:600;color:var(--ink)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{padding:9px 11px;text-align:left;border-bottom:1px solid #edf1f0;font-size:12px}th{color:#61727c;background:#f8faf9;font-weight:600}.badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:550;border:1px solid var(--line);white-space:nowrap}.badge.good{background:#ecf8f3;color:#1f7253}.badge.warn{background:#fff7e6;color:#81601e}.badge.neutral{background:#f1f3f4;color:#667380}
.form{max-width:760px}.form label{display:block;font-weight:550;font-size:12px;margin:11px 0 5px}.form input,.form textarea,.form select{width:100%;min-height:39px;padding:8px 10px;border:1px solid #cad6d9;border-radius:8px;background:#fff;color:var(--ink);outline:none}.form textarea{min-height:92px;resize:vertical}.form input:focus,.form textarea:focus,.form select:focus{border-color:#3ba8aa;box-shadow:0 0 0 3px rgba(11,148,150,.075)}
.actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.btn{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:0 12px;border-radius:8px;border:1px solid transparent;text-decoration:none;font-weight:600;font-size:12px;cursor:pointer;line-height:1.2}.btn.primary{background:var(--teal);color:#fff}.btn.primary:hover{background:var(--teal-dark)}.btn.coral{background:var(--coral);color:#fff}.btn.ghost{background:#fff;border-color:#ccd8da;color:var(--ink)}.btn.ghost:hover{background:#f8faf9}
.notice,.error{padding:9px 11px;border-radius:8px;margin-bottom:10px;font-size:12px;line-height:1.45}.notice{background:#eaf8f7;border:1px solid #c5e9e7;color:#196a6a}.error{background:#fff0ee;border:1px solid #f0c3bc;color:#8d3e35}
.app-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}.app-card{padding:13px;border-radius:11px}.app-icon{width:40px;height:40px;flex:0 0 40px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#0b2837,#0d151d);color:#fff;font-size:15px;font-weight:600;overflow:hidden}.app-icon.app-icon-image{background:transparent}.app-icon.app-icon-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:9px}.app-icon-fallback{background:#102d38;color:#88d9d6}
.messages{display:grid;gap:8px;padding:13px}.message{max-width:78%;padding:10px 12px;border-radius:9px;background:#f2f6f8;font-size:12px;line-height:1.45}.message.staff{margin-left:auto;background:#e7f8f6}.message small{display:block;margin-top:5px;color:var(--muted)}
.progress{height:7px;border-radius:999px;background:#e8eef2;overflow:hidden}.progress span{display:block;height:100%;background:var(--teal)}.progress-native{width:100%;height:7px;appearance:none;border:0;border-radius:999px;overflow:hidden;background:#e8eef2}.progress-native::-webkit-progress-bar{background:#e8eef2}.progress-native::-webkit-progress-value{background:var(--teal)}.progress-native::-moz-progress-bar{background:var(--teal)}
.check-label{display:flex!important;gap:8px;align-items:center}.check-label input{width:auto!important;min-height:auto!important}.security-card{min-height:0}

/* Accueil : launcher immédiat — V9.28 FULL CSS / icônes nettes */
.launcher-section{padding:0}
.launcher-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px}
.launcher-head h2{margin:0;font-size:13px;font-weight:600;color:#344b55}
.launcher-head a{font-size:11px;font-weight:550;color:#0a8286;text-decoration:none}
.launcher-head a:hover{text-decoration:underline}
.launcher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px}

.launcher-card{
  position:relative;
  isolation:isolate;
  min-height:82px;
  padding:12px 46px 12px 12px;
  border:0;
  border-radius:17px;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:12px;
  color:#f8fcfd;
  text-decoration:none;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform:translateZ(0);
  background:
    radial-gradient(130% 190% at 50% -72%,rgba(255,255,255,.19) 0%,rgba(255,255,255,.075) 20%,rgba(255,255,255,.018) 39%,transparent 57%),
    radial-gradient(95% 135% at 104% 118%,rgba(40,226,216,.17) 0%,rgba(17,166,164,.075) 37%,transparent 68%),
    radial-gradient(70% 105% at -8% 100%,rgba(38,109,121,.075) 0%,transparent 72%),
    linear-gradient(152deg,#202a2f 0%,#151d21 25%,#0d1317 58%,#070b0e 100%);
  box-shadow:
    0 25px 38px -28px rgba(3,11,14,.72),
    0 16px 24px -22px rgba(3,11,14,.75),
    0 6px 11px -9px rgba(0,0,0,.74),
    0 0 30px -22px rgba(22,199,195,.46),
    inset 0 1px 1px rgba(255,255,255,.20),
    inset 0 4px 9px rgba(255,255,255,.030),
    inset 0 -18px 27px rgba(0,0,0,.30),
    inset 10px 0 20px rgba(255,255,255,.012),
    inset -14px 0 25px rgba(0,0,0,.18);
  transition:
    transform .22s cubic-bezier(.2,.72,.25,1),
    box-shadow .22s ease,
    filter .22s ease,
    background .22s ease;
}
.launcher-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  right:-58px;
  bottom:-70px;
  width:190px;
  height:142px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 48% 48%,rgba(64,244,235,.30) 0%,rgba(27,213,207,.17) 23%,rgba(12,149,153,.075) 48%,transparent 72%);
  filter:blur(12px);
  opacity:.82;
  transform:translate3d(0,0,0);
  transition:opacity .22s ease,transform .26s cubic-bezier(.2,.72,.25,1),filter .22s ease;
}
.launcher-card::after{
  content:"";
  position:absolute;
  z-index:0;
  left:-14%;
  top:-60%;
  width:66%;
  height:190%;
  pointer-events:none;
  border-radius:50%;
  background:linear-gradient(103deg,transparent 15%,rgba(255,255,255,.015) 35%,rgba(255,255,255,.11) 50%,rgba(89,238,232,.045) 58%,transparent 77%);
  filter:blur(1.5px);
  opacity:.62;
  transform:rotate(13deg) translateX(-28%);
  transition:transform .48s cubic-bezier(.16,.75,.26,1),opacity .22s ease;
}
.launcher-card:hover{
  transform:translateY(-3px) scale(1.006) translateZ(0);
  filter:saturate(1.055) brightness(1.035) contrast(1.015);
  box-shadow:
    0 31px 44px -29px rgba(3,11,14,.78),
    0 18px 27px -22px rgba(3,11,14,.78),
    0 7px 13px -9px rgba(0,0,0,.78),
    0 0 38px -20px rgba(25,211,206,.58),
    inset 0 1px 1px rgba(255,255,255,.24),
    inset 0 5px 12px rgba(255,255,255,.038),
    inset 0 -17px 25px rgba(0,0,0,.27),
    inset 11px 0 22px rgba(255,255,255,.014),
    inset -13px 0 24px rgba(0,0,0,.16);
}
.launcher-card:hover::before{
  opacity:1;
  filter:blur(10px);
  transform:translate3d(-7px,-4px,0) scale(1.06);
}
.launcher-card:hover::after{
  opacity:.84;
  transform:rotate(13deg) translateX(135%);
}
.launcher-card:active{
  transform:translateY(-1px) scale(.997) translateZ(0);
  filter:brightness(.99);
  box-shadow:
    0 12px 20px -16px rgba(3,11,14,.72),
    0 4px 8px -6px rgba(0,0,0,.64),
    0 0 24px -18px rgba(25,211,206,.42),
    inset 0 1px 1px rgba(255,255,255,.17),
    inset 0 -13px 22px rgba(0,0,0,.34);
}
.launcher-card:focus-visible{
  outline:0;
  box-shadow:
    0 25px 38px -28px rgba(3,11,14,.72),
    0 0 0 3px rgba(39,216,210,.18),
    0 0 30px -18px rgba(25,211,206,.60),
    inset 0 1px 1px rgba(255,255,255,.22),
    inset 0 -18px 27px rgba(0,0,0,.30);
}

.launcher-card .app-icon{
  position:relative;
  z-index:2;
  width:48px;
  height:48px;
  flex:0 0 48px;
  padding:0;
  border:0;
  border-radius:14px;
  overflow:hidden;
  background:transparent;
  box-shadow:
    0 8px 14px -10px rgba(0,0,0,.72),
    0 2px 5px -3px rgba(0,0,0,.42);
  transform:translateZ(0);
  transition:transform .22s cubic-bezier(.2,.72,.25,1),box-shadow .22s ease;
}
.launcher-card .app-icon::before,
.launcher-card .app-icon::after{
  content:none;
  display:none;
}
.launcher-card .app-icon img{
  position:relative;
  z-index:3;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:13px;
  filter:none;
  opacity:1;
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.launcher-card:hover .app-icon{
  transform:translateY(-1px) translateZ(0);
  filter:none;
  box-shadow:
    0 10px 16px -11px rgba(0,0,0,.78),
    0 3px 6px -4px rgba(0,0,0,.48);
}

.launcher-copy{position:relative;z-index:2;min-width:0;display:grid;gap:4px}
.launcher-copy strong{
  color:#fff;
  font-size:13px;
  line-height:1.18;
  font-weight:690;
  letter-spacing:.005em;
  text-shadow:0 1px 2px rgba(0,0,0,.62),0 0 13px rgba(255,255,255,.025);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.launcher-copy small{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  color:#aebbc0;
  font-size:10.5px;
  line-height:1.35;
  text-shadow:0 1px 1px rgba(0,0,0,.48);
}

.launcher-arrow{
  position:absolute;
  z-index:2;
  right:11px;
  top:50%;
  width:29px;
  height:29px;
  border-radius:999px;
  display:grid;
  place-items:center;
  transform:translateY(-50%) translateZ(0);
  color:#52dfda;
  background:
    radial-gradient(circle at 36% 25%,rgba(100,255,247,.12),transparent 45%),
    linear-gradient(145deg,rgba(28,69,73,.72),rgba(5,19,22,.82));
  box-shadow:
    0 7px 11px -8px rgba(0,0,0,.85),
    0 0 18px -10px rgba(33,222,214,.58),
    inset 0 1px 1px rgba(255,255,255,.13),
    inset 0 -6px 9px rgba(0,0,0,.26);
  text-shadow:0 0 10px rgba(62,238,230,.34);
  font-size:15px;
  transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .22s cubic-bezier(.2,.72,.25,1),filter .2s ease;
}
.launcher-arrow::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.075),transparent 56%);
}
.launcher-card:hover .launcher-arrow{
  color:#8af8f3;
  filter:brightness(1.07);
  transform:translateY(-50%) translateX(2px) scale(1.055) translateZ(0);
  box-shadow:
    0 9px 14px -8px rgba(0,0,0,.88),
    0 0 24px -7px rgba(39,232,223,.82),
    inset 0 1px 1px rgba(255,255,255,.17),
    inset 0 -6px 9px rgba(0,0,0,.22);
}

.launcher-empty{padding:17px;border:1px dashed #cbd8d9;border-radius:11px;background:rgba(255,255,255,.6);font-size:12px}
.launcher-empty p{margin:0 0 10px;color:var(--muted)}

@media(max-width:560px){
  .launcher-grid{gap:8px}
  .launcher-card{min-height:76px;padding:10px 42px 10px 10px;border-radius:15px;gap:10px}
  .launcher-card .app-icon{width:44px;height:44px;flex-basis:44px;border-radius:13px}
  .launcher-copy strong{font-size:12.5px}
  .launcher-copy small{font-size:10px}
  .launcher-arrow{right:9px;width:27px;height:27px}
}
.mfa-qr{width:244px;min-height:244px;margin:18px auto;padding:12px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center}.mfa-qr canvas,.mfa-qr img{display:block;max-width:220px;height:auto}.mfa-manual{margin:12px 0 18px}.mfa-manual summary{cursor:pointer;font-size:12px;color:#65777d}
@media(prefers-reduced-motion:reduce){
  .launcher-card,.launcher-card::before,.launcher-card::after,.launcher-card .app-icon,.launcher-arrow{transition:none!important}
  .launcher-card:hover{transform:none}
  .launcher-card:hover::after{transform:rotate(13deg) translateX(-28%)}
  .launcher-card:hover .app-icon{transform:none}
  .launcher-card:hover .launcher-arrow{transform:translateY(-50%)}
}

/* Gestion des applications : stats ici, pas sur l'accueil */
.client-app-summary{display:flex;align-items:center;gap:0;padding:11px 14px;margin-bottom:16px;border:1px solid #d7e1e3;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.client-app-summary>div{min-width:150px;padding:0 16px 0 0;margin-right:16px;border-right:1px solid #dce5e7}.client-app-summary span{display:block;color:#53646c;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.client-app-summary strong{display:block;margin-top:3px;font-size:14px;font-weight:700;color:#11262f}.client-app-summary p{margin:0;color:#40555d;font-size:11.5px;line-height:1.45}.client-app-section{margin-top:16px}.client-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px}.client-section-head span{display:block;color:#0b878b;font-size:9px;font-weight:700;letter-spacing:.11em}.client-section-head h2{margin:2px 0 0;font-size:16px;font-weight:700;color:#13252d}.client-section-head p{margin:6px 0 0;color:#40555d;font-size:12px;line-height:1.45;max-width:760px}.client-section-head small{color:#dfe8ea;font-size:11px;font-weight:650}.client-section-head--carbon{padding:14px 16px;border:1px solid rgba(10,25,30,.96);border-radius:14px;background:linear-gradient(180deg,#0d1317 0%,#121a1f 100%);box-shadow:0 12px 28px rgba(10,22,27,.16)}.client-section-head--carbon span{color:#2ec0c2}.client-section-head--carbon h2{color:#fff}.client-section-head--carbon p{color:#c9d3d6}.client-app-cards{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}.client-app-card{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;row-gap:8px;min-height:0;padding:13px;border:1px solid #dbe4e6;background:#fff}.client-app-card-copy{min-height:0}.client-app-card-copy h3{margin:1px 0 3px;font-size:13px;font-weight:700;color:#13252d}.client-app-card-copy p{margin:0;font-size:11px;line-height:1.45;color:#42575f}.client-app-tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px;margin:0}.client-app-card-footer{grid-column:1/-1;margin-top:1px;padding-top:8px;border-top:1px solid #dfe7e9;display:flex;align-items:center;justify-content:space-between;gap:8px}.inline-client-action{margin:0}.client-app-card button[disabled]{opacity:.42;cursor:not-allowed}.client-empty-card{max-width:720px}.catalogue-choice-section{padding-top:15px;border-top:1px solid rgba(16,38,49,.08)}


.client-free-apps-section{padding:10px 12px;border:1px solid #d6e4df;border-radius:14px;background:#f7fbf9;margin-bottom:16px}
.client-free-apps-head{padding-bottom:7px;border-bottom:1px solid rgba(16,38,49,.1)}
.client-paid-category-list .client-app-category-group{padding:12px;border:1px solid #dbe4e6;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(18,34,40,.04)}
.client-paid-category-list .client-app-category-group[hidden]{display:none!important}
.client-paid-category-list .client-app-category-group.is-selected{border-color:#cddde0}
.client-empty-card strong{color:#13252d}
.client-empty-card p{color:#455b63}
@media(max-width:1050px){
  .app-shell{grid-template-columns:205px minmax(0,1fr)}
  .app-main{padding:17px 18px 30px}
  .launcher-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
}

@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-y:none}
  body{min-height:100vh;min-height:100dvh}
  .app-shell{display:block;min-height:100vh;min-height:100dvh;width:100%;max-width:100%}
  .app-side{position:sticky;top:0;z-index:80;width:100%;height:auto;min-height:0;max-height:none;padding:calc(7px + env(safe-area-inset-top)) max(11px,env(safe-area-inset-right)) 7px max(11px,env(safe-area-inset-left));border-right:0;border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 6px 18px rgba(3,10,15,.14);overflow:visible}
  .app-side-head{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:12px;width:100%}.app-brand{font-size:20px;margin:0 4px}.desktop-client-nav,.side-bottom{display:none!important}.mobile-client-menu{display:block;position:relative;flex:0 0 auto}
  .mobile-client-menu>summary{touch-action:manipulation;list-style:none;width:38px;height:34px;border:1px solid rgba(255,255,255,.13);border-radius:8px;display:grid;place-content:center;gap:3px;cursor:pointer;background:rgba(255,255,255,.035)}.mobile-client-menu>summary::-webkit-details-marker{display:none}.mobile-client-menu>summary span{display:block;width:16px;height:1.5px;border-radius:99px;background:#dce7e9}
  .mobile-client-panel{position:absolute;right:0;top:40px;width:min(330px,calc(100vw - 22px));max-height:calc(100vh - 58px - env(safe-area-inset-top));max-height:calc(100dvh - 58px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain;padding:9px;border:1px solid rgba(255,255,255,.10);border-radius:11px;background:#0b1822;box-shadow:0 20px 48px rgba(0,0,0,.32)}.mobile-client-panel nav{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0}.mobile-client-panel nav a{padding:8px 9px;font-size:12px}.mobile-client-account{margin-top:9px;padding:9px 4px 2px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:3px}.mobile-client-account strong{font-size:11px;font-weight:550}.mobile-client-account small{color:#8fa0a7;font-size:9.5px;word-break:break-word}.mobile-client-account form{margin-top:4px}.mobile-client-account button{width:100%;padding:7px;border-radius:7px;border:1px solid rgba(255,255,255,.13);background:transparent;color:#cbd5d8;font-size:10px}
  .app-main{width:100%;max-width:none;margin:0;padding:13px max(13px,env(safe-area-inset-right)) calc(26px + env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left))}.app-top{min-height:34px;margin-bottom:12px;padding-bottom:9px}.app-top h1{font-size:19px}.site-link{min-height:31px;padding:0 10px;font-size:10.5px}
  .grid,.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-app-summary{flex-wrap:wrap}.client-app-summary p{flex:1 1 100%;margin-top:6px}.client-app-summary>div{min-width:125px}
}

@media(max-width:560px){
  html{font-size:14px}
  input,textarea,select{font-size:16px!important}.app-main{padding:11px 10px 22px}.app-top{margin-bottom:10px}.app-top h1{font-size:17px}.site-link{min-height:30px;padding:0 9px;border-radius:7px}
  .grid,.grid.two{grid-template-columns:1fr}.launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.launcher-card{min-height:72px;padding:9px 24px 9px 9px;gap:8px}.launcher-card .app-icon{width:40px;height:40px;flex-basis:40px}.launcher-copy strong{font-size:11.5px}.launcher-copy small{display:none}.launcher-arrow{right:8px;font-size:13px}.launcher-head{margin-bottom:8px}.launcher-head h2{font-size:12px}.launcher-head a{font-size:10px}
  .card{padding:11px}.card h2{font-size:14px}.section{margin-top:9px}.section-head{padding:9px 10px}.form textarea{min-height:84px}.messages{padding:10px}.message{max-width:90%}
  .client-app-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.client-app-summary>div{min-width:0;padding:0;margin:0;border-right:0}.client-app-summary p{grid-column:1/-1;margin-top:0}.client-app-cards{grid-template-columns:1fr}.client-section-head{align-items:flex-start}.client-section-head h2{font-size:14px}
  .mobile-client-panel nav{grid-template-columns:1fr 1fr}
  .auth-main{padding:22px 11px}.auth-card{padding:24px 18px;border-radius:15px}.auth-card-head h1{font-size:26px}.auth-recovery-grid{grid-template-columns:1fr}
}

@media(max-width:360px){
  .launcher-grid{grid-template-columns:1fr}.launcher-card{min-height:64px}.launcher-copy small{display:block;-webkit-line-clamp:1}.mobile-client-panel nav{grid-template-columns:1fr}
}


/* V18.3 — cartes d'applications = surfaces interactives, sans sélection accidentelle */
.launcher-card,
.launcher-card *,
.client-app-card,
.client-app-card h3,
.client-app-card p,
.client-app-card .badge,
.client-app-card .app-icon,
.client-app-card .client-app-card-copy,
.client-app-card .client-app-card-footer,
.client-app-card .client-app-tags {
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.launcher-card,
.client-app-card.is-active,
.client-app-open-layer,
.client-app-card a.btn,
.client-app-card button {
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.client-app-card.is-active{position:relative;cursor:pointer}
.client-app-open-layer{position:absolute;inset:0;z-index:1;border-radius:inherit;text-decoration:none;color:inherit}
.client-app-card .app-icon,
.client-app-card-copy{position:relative;z-index:2;pointer-events:none}
.client-app-card-footer,
.client-app-tags,
.client-app-card form,
.client-app-card .btn,
.client-app-card button{position:relative;z-index:3}
input,textarea,select,[contenteditable="true"],.selectable,.copyable{
  -webkit-user-select:text!important;
  user-select:text!important;
  -webkit-touch-callout:default!important;
}

/* V19.4 — logo officiel */
.app-brand{display:inline-flex!important;align-items:center;gap:9px}.app-brand img{display:block;width:34px;height:34px;object-fit:contain}.app-brand span{line-height:1}
@media(max-width:820px){.app-brand img{width:30px;height:30px}.app-brand{gap:8px}}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 18px}.auth-brand img{width:42px;height:42px;object-fit:contain}.auth-brand strong{font-size:18px;letter-spacing:.08em;font-weight:650;color:#102630}

/* V6 — inscription publique compacte */
.registration-main{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}
.registration-card{width:min(620px,100%)}
.registration-brand{text-decoration:none;margin-bottom:14px}
.registration-card .auth-card-head{margin-bottom:4px}
.registration-card .auth-card-head h1{margin-bottom:15px}
.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.registration-grid>div{min-width:0}
.registration-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.auth-form .registration-check{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;margin:16px 0 0;color:#526770;font-size:11px;font-weight:400;line-height:1.4;cursor:pointer;user-select:text;-webkit-user-select:text}
.auth-form .registration-check input{width:16px;height:16px;margin:1px 0 0;padding:0;border-radius:4px;accent-color:var(--teal);box-shadow:none}
.registration-check a{color:#087f83;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.registration-success{margin-top:3px}.registration-success strong{font-size:12px}
.registration-foot{margin-bottom:0}.registration-foot a{white-space:nowrap}
.registration-verification-status{min-height:72px;padding:14px;border:1px solid #d9e7e5;border-radius:11px;background:#f7fbfa;display:flex;align-items:center;justify-content:center;gap:12px;color:#183944}.registration-verification-status strong{font-size:12px}.registration-spinner{width:22px;height:22px;flex:0 0 22px;border:3px solid #d5e7e4;border-top-color:var(--teal);border-radius:50%;animation:registration-spin .8s linear infinite}.registration-verification-status.is-error{display:grid;justify-items:center;gap:7px;border-color:#f0c8c0;background:#fff2f0;color:#8d3e35;text-align:center}.registration-verification-status.is-error strong{color:#8d3e35}.registration-verification-status.is-error a{color:#0a7f85;font-size:11px;font-weight:650}.registration-verification-status.is-error .registration-spinner{display:none}@keyframes registration-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.registration-spinner{animation:none;border-top-color:#d5e7e4;background:var(--teal)}}
@media(max-width:700px){.registration-card{width:min(540px,100%)}.registration-grid{grid-template-columns:1fr}}
@media(max-width:560px){.registration-main{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.registration-card{padding:22px 17px}.registration-card .auth-card-head h1{font-size:25px}.auth-form .registration-check{font-size:11px}.registration-foot{align-items:flex-start;flex-direction:column;gap:5px}}


/* V7.4 — Espace client BOXTYL
   Wordmark officiel validé + fond carbone blanc léger.
   Le menu latéral sombre reste volontairement inchangé. */

.app-shell{
  background-color:#f5f6f4;
  background-image:
    radial-gradient(circle at 50% -18%,rgba(255,255,255,.90),transparent 42%),
    repeating-linear-gradient(135deg,rgba(14,36,43,.027) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(45deg,rgba(255,255,255,.58) 0 1px,transparent 1px 7px);
  background-size:auto,10px 10px,10px 10px;
  background-repeat:no-repeat,repeat,repeat;
  background-attachment:scroll;
}

/* Le fond du contenu reste transparent pour laisser apparaître le carbone blanc. */
.app-main{
  background:transparent;
}

/* Marque client : même fichier validé que le site public, aucune réinterprétation. */
.app-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:148px;
  max-width:calc(100% - 16px);
  height:auto;
  margin:0 8px 22px!important;
  padding:0!important;
  line-height:0!important;
  text-decoration:none;
  flex:0 0 auto;
}
.app-brand picture{
  display:block;
  width:100%;
  line-height:0;
}
.app-brand img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%;
  object-fit:contain!important;
  object-position:left center;
}

@media(max-width:1100px){
  .app-brand{width:140px}
}
@media(max-width:820px){
  .app-side-head{min-height:38px}
  .app-brand{
    width:132px;
    max-width:calc(100% - 54px);
    margin:0 4px!important;
  }
}
@media(max-width:420px){
  .app-brand{width:124px}
}

/* V7.5 — Nouvelle marque PNG : même taille que le site public et centrage dans le menu client. */
.app-brand{
  width:152px !important;
  justify-content:center !important;
}
.app-brand picture{
  display:block !important;
  width:100% !important;
}
.app-brand img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}
@media(min-width:821px){
  .app-side-head{display:flex;align-items:center;justify-content:center}
  .app-brand{margin:0 auto 22px !important}
}
@media(max-width:1320px){.app-brand{width:146px !important}}
@media(max-width:900px){.app-brand{width:138px !important}}
@media(max-width:820px){.app-brand{margin:0 4px !important}}
@media(max-width:600px){.app-brand{width:132px !important}}
@media(max-width:380px){.app-brand{width:126px !important}}

/* V8 — Sauvegardes personnelles BOXTYL */
.backup-page{display:grid;gap:12px}.backup-page-notice{margin:0}.backup-status-grid,.backup-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.backup-status-card,.backup-ownership-card,.backup-schedule-card,.backup-restore-card{min-height:0}.backup-kicker{display:block;margin-bottom:5px;color:#087f83;font-size:9.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.backup-page h2{font-size:14px!important;margin:0 0 6px!important}.backup-page p{font-size:11.5px;line-height:1.45;margin:6px 0}.backup-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line-soft);font-size:10.5px}.backup-status-line:first-of-type{margin-top:9px}.backup-status-line span{color:var(--muted)}.backup-status-line strong{font-size:10.5px;font-weight:650;text-align:right}.backup-actions-section{margin-top:0}.backup-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}.backup-action-card{margin:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:8px;min-height:126px}.backup-action-card>div{min-width:0}.backup-action-card strong{display:block;font-size:11.5px;font-weight:650}.backup-action-card small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.backup-action-card .btn,.backup-action-card .backup-action-hint{grid-column:1/-1;align-self:end}.backup-action-card .btn{justify-self:start}.backup-action-hint{font-size:10px;color:#7d8a90}.backup-action-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eaf6f5;color:#087f83;font-size:15px;font-weight:700}.backup-ready-section{margin-top:0}.backup-download-list{display:grid;gap:6px}.backup-download-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-decoration:none}.backup-download-row:hover{border-color:#a9cecc;background:#fbfefe}.backup-download-row span{display:grid;gap:1px;min-width:0}.backup-download-row strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-download-row small{font-size:9.5px;color:var(--muted)}.backup-download-row b{font-size:10px;color:#087f83}.backup-schedule-form{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:end;margin:10px 0 7px}.backup-schedule-form label{display:grid;gap:4px;margin:0;font-size:10px;font-weight:600}.backup-schedule-form input,.backup-schedule-form select{height:34px;padding:0 8px;border:1px solid #cfdadb;border-radius:8px;background:#fff;color:var(--ink);font-size:11px}.backup-schedule-form .btn{height:34px;white-space:nowrap}.backup-file-picker{display:flex;align-items:center;justify-content:center;min-height:36px;margin:9px 0 6px;padding:0 10px;border:1px dashed #9db7b8;border-radius:8px;background:#f8fbfa;color:#20505a;font-size:10.5px;font-weight:650;cursor:pointer}.backup-file-picker input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.backup-restore-selected{font-size:10px;color:var(--muted);margin:5px 0 8px}.backup-restore-warning{font-size:9.5px!important;color:#866638!important;margin-top:8px!important}.backup-restore-progress{margin-top:8px;padding:8px 9px;border-radius:8px;background:#eef6f5;color:#24555d;font-size:10px;line-height:1.4}.backup-restore-progress.is-error{background:#fff1ef;color:#8c4036}.backup-restore-progress.is-success{background:#edf8f3;color:#216b52}.btn.danger-soft{background:#fff8f4;border-color:#e9c6b6;color:#95543a}.btn.danger-soft:hover{background:#fff2eb}.btn.btn-muted{background:#f4f7f7;border-color:#d8e2e3;color:#294650}.btn.btn-muted:hover{background:#edf3f3}
body.has-backup-dialog{overflow:hidden}.backup-dialog-backdrop{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;background:rgba(6,15,22,.58);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.backup-dialog{width:min(460px,calc(100vw - 26px));padding:18px;border:1px solid rgba(11,37,48,.12);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,251,.98));box-shadow:0 24px 70px rgba(0,0,0,.28)}.backup-dialog-head{display:grid;gap:3px;margin-bottom:8px}.backup-dialog-kicker{display:block;color:#087f83;font-size:9px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.backup-dialog h3{margin:0;font-size:18px;line-height:1.1;letter-spacing:-.025em}.backup-dialog p{margin:0;color:#4f636d;font-size:12px;line-height:1.55}.backup-dialog-note{display:grid;gap:3px;margin:12px 0 14px;padding:11px 12px;border:1px solid #d9e7e5;border-radius:10px;background:#f5faf9}.backup-dialog-note strong{font-size:10.5px;color:#13444d}.backup-dialog-note span{font-size:10.5px;color:#597079;line-height:1.45}.backup-dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.backup-dialog-actions .btn{min-height:36px;padding:0 13px}


.backup-reminder-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(4,15,21,.66);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.backup-reminder-modal{width:min(500px,100%);padding:20px;border:1px solid rgba(21,56,64,.14);border-radius:15px;background:#fff;box-shadow:0 26px 80px rgba(0,0,0,.28)}.backup-reminder-kicker{display:block;color:#087f83;font-size:9px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.backup-reminder-modal h2{margin:6px 0 7px;font-size:19px;letter-spacing:-.025em}.backup-reminder-modal>p{margin:0;color:#5f7078;font-size:11.5px;line-height:1.48}.backup-reminder-note{display:grid;gap:3px;margin:12px 0;padding:10px;border:1px solid #dae7e5;border-radius:9px;background:#f6faf9}.backup-reminder-note strong{font-size:10.5px}.backup-reminder-note span{font-size:10.5px;line-height:1.45;color:#5d7077}.backup-reminder-actions{display:flex;gap:7px;flex-wrap:wrap}.backup-reminder-modal>small{display:block;margin-top:9px;color:#7b898f;font-size:9.5px}

@media(max-width:900px){.backup-action-grid{grid-template-columns:1fr 1fr}.backup-action-card:last-child{grid-column:1/-1}.backup-schedule-form{grid-template-columns:1fr 1fr}.backup-schedule-form .btn{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.backup-status-grid,.backup-lower-grid,.backup-action-grid{grid-template-columns:1fr}.backup-action-card:last-child{grid-column:auto}.backup-schedule-form{grid-template-columns:1fr 1fr}.backup-reminder-modal{padding:17px}.backup-reminder-modal h2{font-size:17px}}
@media(max-width:480px){.backup-schedule-form{grid-template-columns:1fr}.backup-schedule-form .btn{grid-column:auto;width:100%}.backup-reminder-actions{display:grid}.backup-reminder-actions .btn{width:100%;justify-content:center}.backup-download-row{align-items:flex-start}.backup-download-row b{padding-top:1px}}

/* V8.4 — Catalogue toujours visible dans l'espace client */
.desktop-client-nav .client-catalogue-nav,
.mobile-client-panel nav .client-catalogue-nav{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:7px;border-color:rgba(74,211,205,.20);background:rgba(11,148,150,.10);
  color:#7edbd7;font-weight:650;
}
.desktop-client-nav .client-catalogue-nav:hover,
.mobile-client-panel nav .client-catalogue-nav:hover{
  background:rgba(11,148,150,.18);border-color:rgba(98,222,216,.30);color:#a4ebe7;
}
.client-catalogue-nav b{font-size:11px;font-weight:700;opacity:.8}
.app-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 0 auto}
.catalogue-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 13px;border:1px solid #07898b;border-radius:8px;background:var(--teal);color:#fff;text-decoration:none;font-size:11.5px;font-weight:650;box-shadow:0 5px 14px rgba(11,148,150,.12);transition:background .15s ease,transform .15s ease}
.catalogue-cta:hover{background:var(--teal-dark);transform:translateY(-1px)}
.catalogue-cta span{font-size:10px;opacity:.86}
.site-link-secondary{background:#fff;color:#23414b;border-color:#cbd7d8;box-shadow:none}
.site-link-secondary:hover{background:#f6f9f8;color:#173740;transform:none}
@media(max-width:820px){
  .app-top-actions{gap:6px}.catalogue-cta{min-height:31px;padding:0 10px;font-size:10.5px}.site-link-secondary{min-height:31px;padding:0 9px;font-size:10px}
}
@media(max-width:560px){
  .app-top{align-items:center}.app-top h1{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .catalogue-cta{min-height:30px;padding:0 9px;font-size:10px;white-space:nowrap}.catalogue-cta span{display:none}
  .site-link-secondary{display:none}
}

/* V8.5 — Applications client classées automatiquement par catégorie */
.client-app-category-list{display:grid;gap:14px}
.client-app-category-group{display:grid;gap:7px;min-width:0}
.client-app-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 7px;border-bottom:1px solid rgba(16,38,49,.12)}
.client-app-category-head h3{margin:0;color:#14272f;font-size:13px;font-weight:700;letter-spacing:-.01em}
.client-app-category-head span{flex:0 0 auto;color:#576a72;font-size:10px;font-weight:650}
.client-app-category-group+.client-app-category-group{margin-top:2px}
@media(max-width:560px){
  .client-app-category-list{gap:12px}.client-app-category-head{padding-bottom:4px}.client-app-category-head h3{font-size:11.5px}.client-app-category-head span{font-size:9px}
}

/* V9.5 — sélection d'applications plus claire côté client */
.client-free-apps-section{display:grid;gap:8px;margin-bottom:14px;padding:11px;border:1px solid #cfe8df;border-radius:11px;background:linear-gradient(180deg,rgba(238,250,246,.92),rgba(255,255,255,.88))}
.client-free-apps-head{padding:0 1px 6px;border-bottom-color:#d7ebe4}
.client-free-apps-head h3{color:#17624d}
.client-paid-apps-section{display:grid;gap:10px;padding-top:2px}
.client-category-discovery{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;align-items:stretch;margin-bottom:14px;padding:14px 16px;border:1px solid rgba(10,25,30,.96);border-radius:14px;background:linear-gradient(180deg,#0d1317 0%,#121a1f 100%);box-shadow:0 12px 28px rgba(10,22,27,.14)}
.client-category-discovery-copy .eyebrow{display:block;margin-bottom:6px;color:#2ec0c2;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.client-category-discovery-copy h3{margin:0;color:#fff;font-size:18px;font-weight:700;line-height:1.2}
.client-category-discovery-copy p{margin:8px 0 0;color:#c9d3d6;font-size:12px;line-height:1.5;max-width:680px}
.client-category-picker{display:grid;align-content:center;gap:7px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.04)}
.client-category-picker label{margin:0;color:#f3f7f8;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.client-category-picker select{width:100%;min-width:0;height:44px;padding:0 40px 0 12px;border:1px solid #2ec0c2;border-radius:10px;background:#fff;color:#10242c;font:inherit;font-size:13px;font-weight:700;outline:none;cursor:pointer;box-shadow:0 0 0 4px rgba(46,192,194,.08)}
.client-category-picker select:focus{border-color:#2ec0c2;box-shadow:0 0 0 4px rgba(46,192,194,.18)}
.client-paid-category-list{gap:0}
.client-paid-category-list [data-category-panel][hidden]{display:none!important}
.client-free-apps-section .badge.good{font-weight:650}
@media(max-width:560px){
  .client-free-apps-section{padding:9px;margin-bottom:11px}
  .client-category-discovery{grid-template-columns:1fr;gap:12px;padding:12px}.client-category-discovery-copy h3{font-size:16px}.client-category-discovery-copy p{font-size:11.5px}.client-category-picker{padding:12px}.client-category-picker select{width:100%;height:42px}
}


/* V9.8 — Applications client PRO HD : densité, contraste, hiérarchie nette */
.client-section-head--carbon{
  min-height:0;
  padding:9px 12px;
  margin-bottom:9px;
  border:1px solid #11181c;
  border-radius:9px;
  background-color:#090d10;
  background-image:
    linear-gradient(135deg,rgba(255,255,255,.018) 25%,transparent 25%),
    linear-gradient(225deg,rgba(255,255,255,.018) 25%,transparent 25%),
    linear-gradient(45deg,rgba(255,255,255,.012) 25%,transparent 25%),
    linear-gradient(315deg,rgba(255,255,255,.012) 25%,#090d10 25%);
  background-position:7px 0,7px 0,0 0,0 0;
  background-size:14px 14px;
  box-shadow:0 5px 14px rgba(8,17,21,.10);
}
.client-section-head--carbon span{font-size:8px;letter-spacing:.12em;color:#35b9bc}
.client-section-head--carbon h2{margin-top:1px;font-size:14px;line-height:1.15;color:#fff;font-weight:700}
.client-section-head--carbon small{align-self:center;color:#d9e3e5;font-size:10px;font-weight:700}
.client-section-head--carbon p{display:none!important}

.client-free-apps-section{
  padding:0;
  margin-bottom:13px;
  overflow:hidden;
  border:1px solid #d8e0e2;
  border-radius:10px;
  background:#fff;
  box-shadow:0 5px 16px rgba(15,31,37,.035);
}
.client-free-apps-head{
  min-height:34px;
  padding:7px 11px;
  border:0;
  background:#0c1216;
}
.client-free-apps-head h3{color:#fff;font-size:11.5px;font-weight:700}
.client-free-apps-head span{color:#b8c5c8;font-size:9.5px}
.client-free-apps-section>.client-app-cards{padding:8px}

.client-category-discovery{
  display:grid;
  grid-template-columns:165px minmax(0,1fr);
  gap:0;
  align-items:stretch;
  margin:0 0 10px;
  padding:0;
  overflow:hidden;
  border:1px solid #bdcdd0;
  border-radius:10px;
  background:#fff;
  box-shadow:0 5px 16px rgba(15,31,37,.045);
}
.client-category-discovery-title{
  display:flex;
  align-items:center;
  padding:0 14px;
  background-color:#090d10;
  background-image:linear-gradient(135deg,rgba(255,255,255,.018) 25%,transparent 25%),linear-gradient(315deg,rgba(255,255,255,.012) 25%,#090d10 25%);
  background-size:14px 14px;
  color:#fff;
  font-size:11px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.client-category-picker{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:8px 10px;
  border:0;
  border-radius:0;
  background:#fff;
}
.client-category-picker label{
  color:#243b44;
  font-size:10px;
  font-weight:700;
  letter-spacing:.055em;
  white-space:nowrap;
}
.client-category-picker select{
  height:40px;
  border:1.5px solid #169ca0;
  border-radius:8px;
  background:#fff;
  color:#10242c;
  font-size:12.5px;
  font-weight:700;
  box-shadow:0 0 0 2px rgba(22,156,160,.06);
}
.client-category-picker select:hover{border-color:#0c8589}
.client-category-picker select:focus{border-color:#0b8f93;box-shadow:0 0 0 3px rgba(11,143,147,.13)}

.client-paid-category-list .client-app-category-group{
  padding:0;
  overflow:hidden;
  border:1px solid #d8e0e2;
  border-radius:10px;
  background:#fff;
  box-shadow:0 5px 16px rgba(15,31,37,.035);
}
.client-paid-category-list .client-app-category-head{
  min-height:32px;
  padding:6px 10px;
  border:0;
  background:#f2f5f5;
}
.client-paid-category-list .client-app-category-head h3{font-size:11.5px;color:#14272f}
.client-paid-category-list .client-app-category-head span{font-size:9.5px;color:#65767c}
.client-paid-category-list .client-app-cards{padding:8px}

.client-app-card{
  border-radius:9px;
  box-shadow:none;
}
.client-app-card:hover{border-color:#c6d7da}
.catalogue-choice-section{padding-top:12px}

@media(max-width:820px){
  .client-category-discovery{grid-template-columns:132px minmax(0,1fr)}
  .client-category-picker{grid-template-columns:1fr;gap:5px}
  .client-category-picker label{font-size:9px}
}
@media(max-width:560px){
  .client-section-head--carbon{padding:8px 10px;border-radius:8px}
  .client-section-head--carbon h2{font-size:13px}
  .client-category-discovery{grid-template-columns:1fr}
  .client-category-discovery-title{min-height:30px;padding:0 10px;font-size:10px}
  .client-category-picker{padding:8px}
  .client-category-picker select{height:42px}
}


/* V9.9 — sélecteur de catégorie compact, à gauche, sans grand bloc carbone */
.client-category-discovery{
  display:block;
  width:min(430px,100%);
  margin:0 0 12px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.client-category-discovery-title{display:none!important}
.client-category-picker{
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.client-category-picker label{display:none!important}
.client-category-picker select{
  width:100%;
  height:42px;
  padding:0 40px 0 12px;
  border:1.5px solid #169ca0;
  border-radius:9px;
  background:#fff;
  color:#10242c;
  font-size:12.5px;
  font-weight:700;
  box-shadow:0 3px 10px rgba(15,31,37,.05),0 0 0 2px rgba(22,156,160,.045);
}
@media(max-width:560px){
  .client-category-discovery{width:100%;margin-bottom:10px}
  .client-category-picker{padding:0}
  .client-category-picker select{height:42px}
}

/* V9.10 — Applications client : retour à un rendu clair + aide thème visible */
.client-section-head{
  align-items:flex-start;
  padding:0 0 10px;
  margin-bottom:12px;
  border-bottom:1px solid #dbe5e7;
  background:transparent;
  box-shadow:none;
}
.client-section-head span{color:#0b878b;font-size:9px;font-weight:700;letter-spacing:.11em}
.client-section-head h2{margin:2px 0 0;font-size:16px;font-weight:700;color:#13252d}
.client-section-head p{margin:4px 0 0;color:#60727a;font-size:11.5px;line-height:1.45;max-width:760px}
.client-section-head small{align-self:center;color:#62757d;font-size:11px;font-weight:700}
.client-section-head--carbon,
.client-section-head.client-section-head--carbon{
  padding:0 0 10px !important;
  border:0 !important;
  border-bottom:1px solid #dbe5e7 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.client-section-head--carbon span,.client-section-head--carbon h2,.client-section-head--carbon small,.client-section-head--carbon p{color:inherit}
.client-free-apps-section{
  padding:0;
  border:1px solid #dbe5e7;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(18,34,40,.035);
}
.client-free-apps-head{
  min-height:0;
  padding:10px 12px 8px;
  border:0;
  border-bottom:1px solid #edf2f3;
  background:#f7fbfa;
}
.client-free-apps-head h3{color:#15614c;font-size:12px;font-weight:700}
.client-free-apps-head span{color:#65777d;font-size:10px;font-weight:650}
.client-free-apps-section>.client-app-cards{padding:10px}
.client-paid-apps-section{gap:8px;padding-top:0}
.client-category-helper{
  margin:0 0 6px;
  color:#5b6d75;
  font-size:11.5px;
  line-height:1.45;
}
.client-category-discovery{
  display:block;
  width:min(430px,100%);
  margin:0 0 12px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.client-category-picker{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
}
.client-category-picker select{
  width:100%;
  height:44px;
  padding:0 40px 0 12px;
  border:1.5px solid #169ca0;
  border-radius:10px;
  background:#fff;
  color:#10242c;
  font-size:12.5px;
  font-weight:700;
  box-shadow:0 3px 10px rgba(15,31,37,.05),0 0 0 2px rgba(22,156,160,.045);
}
.client-paid-category-list .client-app-category-group{
  padding:0;
  overflow:hidden;
  border:1px solid #dbe5e7;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(18,34,40,.035);
}
.client-paid-category-list .client-app-category-head{
  min-height:0;
  padding:10px 12px 8px;
  border:0;
  border-bottom:1px solid #edf2f3;
  background:#fff;
}
.client-paid-category-list .client-app-cards{padding:10px}
@media(max-width:560px){
  .client-section-head h2{font-size:15px}
  .client-section-head p,.client-category-helper{font-size:11px}
  .client-category-discovery{width:100%}
}


/* V9.11 — titres verts plus présents + sélecteur sombre */
.client-section-head.client-section-head--title-only{
  align-items:center;
  min-height:0;
  padding:0 0 9px;
  margin-bottom:11px;
  border-bottom:1px solid #dbe5e7;
}
.client-section-head.client-section-head--title-only span{
  display:block;
  color:#0a8f8c;
  font-size:16px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.045em;
}
.client-section-head.client-section-head--title-only small{
  align-self:center;
  color:#51656d;
  font-size:11px;
  font-weight:750;
}
.client-category-helper{
  margin:0 0 7px;
  color:#53676f;
  font-size:11.5px;
  font-weight:600;
}
.client-category-picker select{
  color-scheme:dark;
  border-color:#168f92;
  background:#090d10;
  color:#fff;
  box-shadow:0 3px 10px rgba(8,17,21,.10),0 0 0 2px rgba(22,143,146,.06);
}
.client-category-picker select:hover{
  border-color:#20aaa9;
  background:#0c1216;
  color:#fff;
}
.client-category-picker select:focus{
  border-color:#20aaa9;
  background:#090d10;
  color:#fff;
  box-shadow:0 0 0 3px rgba(32,170,169,.13);
}
.client-category-picker select option{
  background:#090d10;
  color:#fff;
}
@media(max-width:560px){
  .client-section-head.client-section-head--title-only span{font-size:15px}
}

/* V9.12 — correction stricte des titres verts et du sélecteur */
.client-section-head.client-section-head--title-only{
  padding:0 0 10px !important;
  margin-bottom:12px !important;
  border-bottom:1px solid #dbe5e7 !important;
}
.client-section-head.client-section-head--title-only span{
  color:#0a918d !important;
  font-size:19px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:.025em !important;
}
.client-section-head.client-section-head--title-only small{
  color:#596d75 !important;
  font-size:12px !important;
  font-weight:750 !important;
}
.client-category-helper{
  margin:0 0 8px !important;
  color:#53676f !important;
  font-size:11.5px !important;
  font-weight:600 !important;
}
.client-category-discovery{
  display:block !important;
  width:min(420px,100%) !important;
  margin:0 0 14px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.client-category-picker{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.client-category-picker select{
  width:100% !important;
  height:44px !important;
  padding:0 40px 0 12px !important;
  border:1.5px solid #169ca0 !important;
  border-radius:10px !important;
  background:#090d10 !important;
  color:#ffffff !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  box-shadow:0 3px 10px rgba(8,17,21,.10),0 0 0 2px rgba(22,143,146,.06) !important;
}
.client-category-picker select:hover{
  border-color:#20aaa9 !important;
  background:#0c1216 !important;
  color:#fff !important;
}
.client-category-picker select:focus{
  border-color:#20aaa9 !important;
  background:#090d10 !important;
  color:#fff !important;
  box-shadow:0 0 0 3px rgba(32,170,169,.13) !important;
}
.client-category-picker select option{
  background:#090d10 !important;
  color:#fff !important;
}
@media(max-width:560px){
  .client-section-head.client-section-head--title-only span{font-size:17px !important}
  .client-category-discovery{width:100% !important}
}

/* V9.13 — réglages finaux page Applications + essai unique */
.client-section-head.client-section-head--title-only span{
  font-size:17px !important;
}
.client-trial-action{
  display:grid;
  justify-items:end;
  gap:4px;
  max-width:330px;
}
.client-trial-action .inline-client-action{margin:0}
.client-trial-action small{
  display:block;
  color:#65777d;
  font-size:9.5px;
  line-height:1.3;
  text-align:right;
}
@media(max-width:560px){
  .client-section-head.client-section-head--title-only span{font-size:16px !important}
  .client-trial-action{max-width:240px}
  .client-trial-action small{font-size:9px}
}
