/* LEX Access — theme.css · accent BEIGE (couleur de référence Lex Access) */
:root{ --accent-app:#e3cfa4; }

/* petites surcouches propres à Lex Access, par-dessus le design commun */
.wrap{max-width:1060px;margin:0 auto;padding:20px 16px calc(28px + env(safe-area-inset-bottom))}
.top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;letter-spacing:.5px}
.brand b{color:var(--accent-app)} .brand img{width:30px;height:30px}
.sp{flex:1}.who{font-size:13px;color:var(--muted);font-weight:700}
.grid{display:grid;grid-template-columns:340px 1fr;gap:16px;align-items:start}
@media(max-width:820px){.grid{grid-template-columns:1fr}}
.card{padding:20px;margin-bottom:16px}
.card h2{font-size:16px;display:flex;gap:8px;align-items:center;margin-bottom:14px}
label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:800;margin:12px 0 6px 2px;display:block}
.code-in{font-size:22px!important;letter-spacing:3px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.err{color:var(--danger);font-size:13px;margin:10px 0 0;min-height:16px;text-align:center;font-weight:700}
.hint{color:var(--muted);font-size:12px;text-align:center;margin-top:14px;line-height:1.5}
.dl{color:var(--accent-app);text-decoration:none;font-weight:800}

/* dossiers / tags */
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 12px}
.tag{padding:6px 13px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer;color:var(--muted);
  box-shadow:inset 0 0 0 1px var(--glass-border);user-select:none}
.tag.on{background:color-mix(in srgb,var(--accent-app) 72%,transparent);color:#2a2114;box-shadow:none}

/* lignes PC : boutons sur leur propre ligne (pas de chevauchement) */
.peer{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:13px 14px;border-radius:16px;
  box-shadow:inset 0 0 0 1px var(--glass-border);margin-bottom:9px}
.peer .ic{width:38px;height:38px;border-radius:11px;background:var(--glass-bg);display:flex;
  align-items:center;justify-content:center;font-size:18px;flex:none}
.peer .info{flex:1 1 60%;min-width:0}
.peer .nm{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peer .st{font-size:12.5px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.peer .acts{flex:1 0 100%;display:flex;gap:8px;justify-content:flex-end}
.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}
.dot.on{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 70%,transparent)}
.dot.off{background:var(--danger)}
.empty{color:var(--muted);opacity:.7;text-align:center;padding:22px 0;font-size:14px}
.ab-head{display:flex;gap:8px;margin-bottom:6px}.ab-head .in{flex:1}
.big-code{font-size:26px;font-weight:900;letter-spacing:2px;color:var(--accent-app)}
.online{font-size:12.5px;font-weight:800;color:var(--ok)}
.offline{font-size:12.5px;font-weight:800;color:var(--muted)}

/* modale (carnet + acceptation) */
.veil{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:40}
.sheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:41;width:min(440px,92vw);padding:24px}
.sheet h3{font-size:18px;margin-bottom:6px}
.sheet .row{display:flex;gap:10px;margin-top:18px}.sheet .row .btn{flex:1}
.who-line{display:flex;align-items:center;gap:12px;margin-top:8px}
.who-ava{width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--accent-app) 24%,transparent);
  display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}

/* barre de mise à jour */
#upbar{display:none;align-items:center;gap:12px;padding:11px 16px;border-radius:14px;margin-bottom:16px;
  background:color-mix(in srgb,var(--accent-app) 18%,transparent);box-shadow:inset 0 0 0 1px var(--glass-border)}
#upbar.show{display:flex}#upbar .sp{flex:1}

/* session de contrôle */
#session{position:fixed;inset:0;display:none;flex-direction:column;background:#0a0a0d;z-index:50}
#bar{display:flex;align-items:center;gap:12px;padding:9px 14px;background:rgba(12,12,16,.96);
  border-bottom:1px solid var(--glass-border);font-size:14px;flex:none}
#bar .nm{font-weight:800}#bar .st{color:var(--muted);font-size:12.5px}#bar .sp{flex:1}
#screenwrap{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
#screen{max-width:100%;max-height:100%;cursor:crosshair;background:#000;display:block}
#wait{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:rgba(8,8,11,.9)}
#wait.show{display:flex}
.spin{width:44px;height:44px;border-radius:50%;border:4px solid var(--glass-border);border-top-color:var(--accent-app);animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:60;
  padding:11px 18px;border-radius:14px;font-size:14px;opacity:0;transition:.25s;max-width:88vw;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
