.pin-entry{min-width:0;margin:0 0 16px;padding:0;border:0}
.pin-entry legend{margin:0 0 10px;color:var(--text);font-size:15px;font-weight:650}
.pin-display{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%;margin:0;padding:0;border:0;outline:none;cursor:text}
.pin-slot{display:grid;place-items:center;height:58px;border:1px solid var(--line);border-radius:13px;background:var(--input);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}
.pin-slot-extended{margin-left:5px}
.pin-slot::after{content:"";width:11px;height:11px;border-radius:50%;background:transparent;transform:scale(.5);transition:background .14s,transform .14s}
.pin-slot.is-filled{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:var(--soft);transform:translateY(-1px)}
.pin-slot.is-filled::after{background:var(--accent);transform:scale(1)}
.pin-display:focus-visible .pin-slot{outline:3px solid var(--focus);outline-offset:2px}
.pin-display.is-four-ready .pin-slot:nth-child(-n+4),.pin-display.is-six-ready .pin-slot{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 19%,transparent)}
.pin-help{min-height:20px;margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.45;text-align:center}
.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}
.pin-keypad .pin-key.secondary{min-height:54px;padding:8px;border-color:var(--line);border-radius:14px;color:var(--text);background:var(--input);font-size:20px;font-weight:700;box-shadow:none}
.pin-keypad .pin-key.secondary:hover{border-color:var(--accent);background:var(--soft)}
.pin-keypad .pin-key.secondary:active{transform:scale(.96)}
.pin-keypad .pin-delete.secondary{color:var(--accent);font-size:22px}
#ministry-login .form-message{min-height:22px;margin:0 0 13px;line-height:1.45;text-align:center}
#ministry-login .pin-submit:disabled{opacity:.45}
@media(max-width:480px){
  .pin-display{gap:6px}
  .pin-slot{height:52px;border-radius:11px}
  .pin-slot-extended{margin-left:3px}
  .pin-keypad .pin-key.secondary{min-height:50px}
}
@media(prefers-reduced-motion:reduce){.pin-slot,.pin-slot::after,.pin-keypad .pin-key.secondary{transition:none}}
