
/* Unified private workspace shell */
.nsl-role-nav{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:10px 5%;background:#fff;border-bottom:1px solid #eadbd7;font-size:13px;position:sticky;top:0;z-index:40}
.nsl-role-nav a{color:#493b3c;text-decoration:none;font-weight:600}
.nsl-role-nav a:hover{color:#a96574}
.nsl-logout-btn,.nsl-logout-nav{border:0;background:#a96574;color:#fff;padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:600;font-size:12px}
.nsl-logout-btn{position:fixed;bottom:16px;inset-inline-end:16px;z-index:10000;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.nsl-access-card{max-width:420px;margin:60px auto;padding:28px;background:#fff;border:1px solid #eadbd7;border-radius:20px;text-align:center;box-shadow:0 12px 32px rgba(90,60,60,.08)}
.nsl-access-card img{width:120px;margin-bottom:12px}
.nsl-access-card h1{font-family:Georgia,serif;color:#8f5964;font-size:22px}
.nsl-access-card a{display:inline-block;margin-top:14px;padding:10px 18px;border-radius:999px;background:#d98da0;color:#fff;text-decoration:none;font-weight:600}
.nsl-access-card button.secondary{margin-top:10px;border:1px solid #d98da0;background:#fff;color:#a96574;padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:600}
body[data-access-state="denied"] .nsl-role-nav{display:none}
.nsl-access-loading{max-width:420px;margin:48px auto;padding:18px 22px;background:#fff;border:1px solid #eadbd7;border-radius:16px;text-align:center;color:#6e5d5f;box-shadow:0 10px 28px rgba(90,60,60,.06)}
body[data-access-state="loading"] .wrap,body[data-access-state="denied"] .wrap{visibility:hidden}
body[data-access-state="granted"] .wrap{visibility:visible}
@media(max-width:640px){.nsl-role-nav{flex-wrap:nowrap;overflow-x:auto;padding:8px 12px}.nsl-role-nav a{white-space:nowrap}.nsl-role-nav .nsl-logout-nav{position:sticky;inset-inline-end:0;flex:0 0 auto}}
/* Fail closed before role verification; only the explicit access state is visible. */
body[data-access-state="loading"] > :not(script):not(style):not(#nslAccessLoading),
body[data-access-state="denied"] > :not(script):not(style):not(#nslAccessGate){visibility:hidden!important;pointer-events:none!important}
body[data-access-state="loading"] #nslAccessLoading,body[data-access-state="denied"] #nslAccessGate{visibility:visible!important;pointer-events:auto!important}
