/* ═══ LEX DESIGN — buttons.css : pilules de verre ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 18px;border-radius:999px;font-size:13px;font-weight:800;cursor:pointer;border:none;
  white-space:nowrap;font-family:var(--font);color:var(--text);
  background:var(--glass-bg);
  -webkit-backdrop-filter:blur(8px) saturate(170%);backdrop-filter:blur(8px) saturate(170%);
  box-shadow:0 4px 14px rgba(0,0,0,.2),
    inset 0 1.5px 1px -0.5px var(--hl-top),
    inset 0 -1px 1px -0.5px var(--hl-low),
    inset 0 0 0 1px var(--glass-border);
  transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.95)}
.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}

.btn-primary{background:color-mix(in srgb,var(--accent-app) 60%,transparent);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3);
  box-shadow:0 6px 22px color-mix(in srgb,var(--accent-app) 45%,transparent),
    inset 0 1.5px 1px -0.5px rgba(255,255,255,.7),
    inset 0 -1px 1px -0.5px rgba(255,255,255,.2),
    inset 0 0 0 1px color-mix(in srgb,var(--accent-app) 60%,rgba(255,255,255,.4))}
.btn-primary:hover{opacity:1}
/* en clair : accent plus dense pour garder le contraste */
html[data-theme="light"] .btn-primary{background:color-mix(in srgb,var(--accent-app) 88%,#5b5be0)}
@media (prefers-color-scheme: light){html:not([data-theme="dark"]) .btn-primary{background:color-mix(in srgb,var(--accent-app) 88%,#5b5be0)}}

.btn-ghost{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--text);
  box-shadow:inset 0 0 0 1px var(--glass-border)}
.btn-ghost:hover{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--glass-border),inset 0 1px 0 var(--hl-low)}
html[data-theme="light"] .btn-ghost:hover{background:rgba(0,0,0,.05)}

.btn-danger{background:rgba(229,56,59,.5);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3);
  box-shadow:0 6px 20px rgba(229,56,59,.35),
    inset 0 1.5px 1px -0.5px rgba(255,255,255,.6),
    inset 0 0 0 1px rgba(255,120,120,.55)}
.btn-warn{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--warn);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 40%,transparent)}
.btn-warn:hover{background:color-mix(in srgb,var(--warn) 10%,transparent)}

.btn-sm{padding:6px 13px;font-size:12px}
.btn-full{width:100%}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:640px){.btn-sm{padding:9px 13px;min-height:38px}}

/* ═══ Boutons des autres apps (mêmes recettes, sélecteurs de chaque app) ═══
   Chat/Nation/Remote/V5 : .btn-primary · Inventaire/Panel : .btn.primary
   Envoi : .send-btn (Chat) · .icon-btn.send (V5) · FAB : .fab .add-fab (Inventaire) */
.btn-primary,.btn.primary{
  background:color-mix(in srgb,var(--accent-app) 62%,transparent)!important;color:#fff!important;border:none!important;
  text-shadow:0 1px 3px rgba(0,0,0,.3);
  box-shadow:0 6px 20px color-mix(in srgb,var(--accent-app) 40%,transparent),
    inset 0 1.5px 1px -0.5px rgba(255,255,255,.65),
    inset 0 0 0 1px color-mix(in srgb,var(--accent-app) 55%,rgba(255,255,255,.4))!important}
.btn-primary:hover,.btn.primary:hover{background:color-mix(in srgb,var(--accent-app) 78%,transparent)!important}
.send-btn,.icon-btn.send{
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent-app) 85%,#fff),var(--accent-app))!important;color:#fff!important;
  box-shadow:0 6px 20px color-mix(in srgb,var(--accent-app) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.5)}
.icon-btn.send:hover{filter:brightness(1.05);color:#fff}
.fab,.add-fab{background:linear-gradient(160deg,color-mix(in srgb,var(--accent-app) 85%,#fff),var(--accent-app))!important;color:#fff!important;
  box-shadow:0 8px 28px color-mix(in srgb,var(--accent-app) 55%,transparent),inset 0 1.5px 1px -0.5px rgba(255,255,255,.7)}
.fab-item .lbl,.fab-item button,.btn-power{background:var(--glass-bg-strong);border:none;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 var(--hl-low),inset 0 0 0 1px var(--glass-border)}
/* base verre pour les .btn des apps qui ont leur propre .btn */
.estab-actions .btn,.cnotif-actions .btn,.role-card .btn,.login .btn:not(.btn-primary),
.panel-head .btn:not(.primary),.row-actions .btn{
  border:none;box-shadow:inset 0 1px 1px -0.5px var(--hl-top),inset 0 0 0 1px var(--glass-border);
  -webkit-backdrop-filter:blur(7px) saturate(160%);backdrop-filter:blur(7px) saturate(160%)}
