[data-master-brand] { touch-action: manipulation; user-select: none; -webkit-user-select: none; }
[data-master-brand]:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
#master-entry-dialog { border:1px solid var(--border); border-radius:20px; padding:24px; width:min(400px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; background:var(--workspace,#fff); color:var(--text,#172033); box-shadow:0 24px 80px #0004; }
#master-entry-dialog::backdrop { background:rgba(5,12,26,.6); backdrop-filter:blur(4px); }
.master-entry-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; gap:16px; }
.master-entry-heading h2 { margin:0; font-size:20px; }
.master-entry-heading button { background:none; border:0; color:inherit; font-size:28px; width:40px; height:40px; cursor:pointer; }
#master-login-form label { display:block; margin-bottom:8px; }
#master-pin { width:100%; font-size:16px; }
#master-entry-error { min-height:22px; margin:12px 0; font-size:13px; color:var(--danger,#d22); }
#master-login-form > button { width:100%; min-height:44px; }
.legal-brand { display:flex; align-items:center; gap:8px; margin-bottom:18px; font-size:16px; font-weight:700; }
.legal-brand img,.feature-brand img { width:32px; height:32px; object-fit:contain; }
.feature-brand { display:none; }
@media(max-width:640px), (pointer:coarse) and (max-width:900px) { .feature-brand { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; padding:0; width:40px; height:40px; border:0; background:none; } }
