.login-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;margin-top:12px}
.login-actions>.btn{width:100%;min-width:0;min-height:42px;white-space:nowrap}
#loginForm .login-actions>.btn{transform:none;min-height:42px!important}
.login-actions>.btn:focus-visible{outline:2px solid var(--mist-primary,var(--accent));outline-offset:2px}
@media(max-width:920px),(pointer:coarse){#loginForm .login-actions>.btn{min-height:48px!important}}
.pattern-pad{position:relative;display:grid;grid-template-columns:repeat(3,1fr);aspect-ratio:1;width:min(100%,260px);margin:8px auto;touch-action:none;user-select:none;-webkit-user-select:none}
.pattern-pad svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pattern-pad polyline{fill:none;stroke:#3278d7;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.pattern-dot{position:relative;z-index:1;display:grid;place-items:center;padding:0!important;margin:0!important;min-width:44px;min-height:44px;border:0;background:transparent;box-shadow:none;border-radius:50%;touch-action:none}
.pattern-dot::after{content:'';width:17px;height:17px;box-sizing:content-box;border:3px solid #52769c;border-radius:50%;background:#fff}
.pattern-dot.picked::after{background:#155ed2;border-color:#155ed2;box-shadow:0 0 0 7px #155ed222}
.pattern-dot:focus-visible{outline:2px solid #1e62b5;outline-offset:-8px}
.pattern-pad.disabled{opacity:.55}
.pattern-help{text-align:center;font-size:13px;color:#64778c;margin:4px 0}
.pattern-actions{display:flex;justify-content:center;gap:8px;margin:8px 0}
.pattern-settings{max-width:420px;margin:auto}
.pattern-settings label{display:block;margin:10px 0}
.pattern-settings input{width:100%;min-height:44px}
.pattern-stage{font-size:17px;font-weight:700;color:#24527f;text-align:center;margin:12px 0 0}
@media(max-height:650px){.login-card .pattern-pad{width:min(100%,190px);margin:0 auto}.login-card:has(#loginPatternPanel:not(.hidden)) .login-logo{max-height:38px}.login-card:has(#loginPatternPanel:not(.hidden))>p{display:none}}
