/* MapMyStaff — authentification de démonstration v1764 */
html.mms-auth-pending body[data-required-role]:not([data-required-role="public"]) main { visibility: hidden; min-height: 46rem; }
.mms-demo-authbar { position: relative; z-index: 60; border-bottom: 1px solid #d5e2de; background: #f4f8f6; color: #183d37; }
.mms-demo-authbar__inner { min-height: 3.25rem; display: flex; align-items: center; gap: 1rem; padding-top: .55rem; padding-bottom: .55rem; }
.mms-demo-authbar__mode { display: inline-flex; align-items: center; border-radius:var(--mms-control-shape-radius); padding: .32rem .65rem; background: #fff1c7; border: 1px solid #e2bd4d; color: #5f4500; font-weight: 800; font-size: .78rem; letter-spacing: .02em; white-space: nowrap; }
.mms-demo-authbar__identity { display: grid; line-height: 1.2; }
.mms-demo-authbar__identity strong { font-size: .9rem; }
.mms-demo-authbar__identity span { color: #58716b; font-size: .78rem; }
.mms-demo-authbar__warning { margin-left: auto; color: #5b6d68; font-size: .82rem; }
.mms-demo-authbar__action { flex: 0 0 auto; border: 1px solid #165e53; border-radius:var(--mms-control-shape-radius); background: #fff; color: #104c44; padding: .52rem .8rem; font: inherit; font-size: .82rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.mms-demo-authbar__action:hover { background: #eaf4f1; }
.mms-demo-authbar__action:focus-visible, .mms-demo-login button:focus-visible, .mms-demo-login input:focus-visible, .mms-demo-gate a:focus-visible { outline: 3px solid #075d57; outline-offset: 3px; box-shadow: 0 0 0 6px rgba(244,197,66,.48); }
.mms-demo-private-badge { display: inline-flex; align-items: center; width: fit-content; margin-top: .8rem; padding: .3rem .58rem; border-radius:var(--mms-control-shape-radius); background: #e9f2ef; border: 1px solid #b9d2cb; color: #174f47; font-size: .75rem; font-weight: 800; }
.mms-demo-private-badge::before { content: "🔒"; margin-right: .32rem; font-size: .72rem; }
.mms-demo-gate { min-height: 70vh; display: grid; align-items: center; padding: 4rem 0; background: linear-gradient(180deg,#f6faf8,#fff); }
.mms-demo-gate__panel { max-width: 760px; margin: 0 auto; padding: clamp(1.5rem,4vw,3rem); border: 1px solid #d2e1dc; border-radius: 28px; background: #fff; box-shadow: 0 24px 70px rgba(25,68,59,.12); text-align: center; }
.mms-demo-gate__panel h1 { margin: .55rem 0 1rem; color: #173e37; font-size: clamp(2rem,5vw,3.7rem); }
.mms-demo-gate__panel p { color: #526b65; line-height: 1.7; }
.mms-demo-gate__panel .mms-actions { justify-content: center; margin-top: 1.5rem; }
.mms-demo-gate__notice { margin-top: 1.5rem; padding: 1rem; border-radius: 14px; background: #fff8e7; border: 1px solid #ead28b; color: #604b16; text-align: left; line-height: 1.55; }
.mms-demo-noscript { padding: 1rem; background: #fff1c7; border-bottom: 1px solid #e2bd4d; color: #5f4500; font-weight: 700; text-align: center; }
.mms-demo-login { padding: 4rem 0 5rem; background: linear-gradient(180deg,#f4f9f7,#fff); }
.mms-demo-login__layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(1.5rem,4vw,4rem); align-items: start; }
.mms-demo-login__intro h1 { margin: .5rem 0 1rem; color: #173e37; font-size: clamp(2.3rem,5vw,4.5rem); line-height: 1.04; }
.mms-demo-login__intro p { color: #526b65; line-height: 1.75; max-width: 60ch; }
.mms-demo-login__warning { margin-top: 1.5rem; padding: 1rem 1.1rem; border-radius: 16px; background: #fff8e7; border: 1px solid #ead28b; color: #604b16; line-height: 1.55; }
.mms-demo-login__panel { padding: clamp(1.35rem,3vw,2rem); border: 1px solid #d2e1dc; border-radius: 24px; background: #fff; box-shadow: 0 22px 65px rgba(25,68,59,.1); }
.mms-demo-login__panel h2 { margin: 0 0 .45rem; color: #173e37; }
.mms-demo-login__panel > p { color: #5c716c; }
.mms-demo-login__field { display: grid; gap: .45rem; margin-top: 1rem; }
.mms-demo-login__field label { color: #244e46; font-weight: 800; }
.mms-demo-login__field input { width: 100%; border: 1px solid #acc7c0; border-radius: 12px; padding: .82rem .9rem; color: #173e37; background: #fff; font: inherit; }
.mms-demo-login__submit { width: 100%; margin-top: 1.15rem; border: 0; border-radius:var(--mms-control-shape-radius); padding: .85rem 1rem; background: #0e665a; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.mms-demo-login__error { margin: 1rem 0 0; padding: .8rem; border-radius: 12px; background: #fff0ef; color: #8c211a; border: 1px solid #e5b2ad; }
.mms-demo-login__current { margin: 1rem 0; padding: .8rem; border-radius: 12px; background: #eaf6f1; color: #194b42; border: 1px solid #b9d8cf; }
.mms-demo-accounts { display: grid; gap: .8rem; margin-top: 1.5rem; }
.mms-demo-account { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; align-items: center; width: 100%; text-align: left; border: 1px solid #d0e0db; border-radius: 14px; padding: .9rem; background: #f9fcfb; color: #173e37; cursor: pointer; }
.mms-demo-account:hover { background: #edf6f3; }
.mms-demo-account strong { grid-column: 1; }
.mms-demo-account span { grid-column: 1; color: #5d726c; font-size: .82rem; }
.mms-demo-account code { grid-column: 2; grid-row: 1 / span 2; color: #174f47; background: #e3efeb; border-radius: 8px; padding: .35rem .5rem; font-size: .75rem; }
.mms-demo-login__public { display: inline-flex; margin-top: 1.2rem; color: #0e665a; font-weight: 800; }
@media (max-width: 900px) {
  .mms-demo-authbar__inner { flex-wrap: wrap; gap: .55rem .8rem; }
  .mms-demo-authbar__warning { order: 4; width: 100%; margin-left: 0; }
  .mms-demo-login__layout { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .mms-demo-authbar__identity { flex: 1; }
  .mms-demo-authbar__action { width: 100%; text-align: center; }
  .mms-demo-account { grid-template-columns: 1fr; }
  .mms-demo-account code { grid-column: 1; grid-row: auto; width: fit-content; }
}


/* Point d’entrée explicite et déconnexion visible — v1764 */
.mms-demo-header-access {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  min-height:2.75rem;
  padding:.58rem .92rem;
  border:1px solid #0e665a;
  border-radius:var(--mms-control-shape-radius);
  background:#0e665a;
  color:#fff;
  font-size:.82rem;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 7px 20px rgba(14,102,90,.18);
}
.mms-demo-header-access svg { width:1rem; height:1rem; fill:currentColor; flex:0 0 auto; }
.mms-demo-header-access:hover { background:#0a574d; color:#fff; transform:translateY(-1px); }
.mms-demo-header-signout {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.75rem;
  padding:.58rem .82rem;
  border:1px solid #d4aaa5;
  border-radius:var(--mms-control-shape-radius);
  background:#fff;
  color:#8a2d26;
  font:inherit;
  font-size:.78rem;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
.mms-demo-header-signout:hover { background:#fff1ef; border-color:#c6857e; color:#742019; }
.mms-demo-header-signout[hidden], .mms-demo-mobile-signout[hidden] { display:none; }
.mms-demo-header-access[data-demo-role="authenticated"],
.mms-demo-header-access[data-demo-role="admin"] { background:#173e37; border-color:#173e37; color:#fff; }
.mms-demo-header-access:focus-visible,
.mms-demo-header-signout:focus-visible,
.mms-demo-mobile-access:focus-visible,
.mms-demo-mobile-signout:focus-visible { outline:3px solid #075d57; outline-offset:3px; box-shadow:0 0 0 6px rgba(244,197,66,.48); }
.mms-demo-mobile-access, .mms-demo-mobile-signout { display:none; }
.mms-demo-mobile-access svg, .mms-demo-mobile-signout svg { width:1.05rem; height:1.05rem; fill:currentColor; flex:0 0 auto; }
.mms-demo-access-panel { padding:1.25rem 0; border-bottom:1px solid #d5e2de; background:linear-gradient(135deg,#eaf5f1,#fff9e8); }
.mms-demo-access-panel__inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.3rem 1.45rem; border:1px solid #c7dcd6; border-radius:20px; background:rgba(255,255,255,.92); box-shadow:0 14px 36px rgba(25,68,59,.08); }
.mms-demo-access-panel h2 { margin:.35rem 0 .45rem; color:#173e37; font-size:clamp(1.35rem,2.6vw,2rem); }
.mms-demo-access-panel p { max-width:66ch; color:#526b65; line-height:1.6; }
.mms-demo-access-panel__actions { display:flex; flex:0 0 auto; align-items:center; gap:.75rem; }
.mms-demo-access-panel__note { max-width:15rem; color:#67521c; font-size:.78rem; line-height:1.35; }
@media (max-width:72rem) {
  .mms-demo-header-access, .mms-demo-header-signout { min-height:2.5rem; padding:.5rem .68rem; font-size:.74rem; }
  .mms-demo-access-panel__inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width:42rem) {
  .mms-demo-header-access, .mms-demo-header-signout { display:none; }
  .mms-demo-mobile-access, .mms-demo-mobile-signout {
    display:flex;
    align-items:center;
    gap:.6rem;
    margin-top:.45rem;
    padding:.8rem .9rem;
    border:1px solid #0e665a;
    border-radius:14px;
    background:#0e665a;
    color:#fff;
    font-weight:850;
  }
  .mms-demo-mobile-access:hover { background:#0a574d; color:#fff; }
  .mms-demo-mobile-signout { width:100%; justify-content:flex-start; margin-top:.45rem; border-color:#d4aaa5; background:#fff; color:#8a2d26; font:inherit; cursor:pointer; }
  .mms-demo-mobile-signout:hover { background:#fff1ef; color:#742019; }
  .mms-demo-access-panel__actions { width:100%; align-items:stretch; flex-direction:column; }
  .mms-demo-access-panel__actions .mms-button { width:100%; }
  .mms-demo-access-panel__note { max-width:none; text-align:center; }
}
