/* Shared PIN presentation. All authorization remains in Core. */
.dz-pin{--pin-error:#b42335;--pin-bg:var(--dz-surface,#fff);--pin-text:var(--dz-ink,#182332);--pin-muted:var(--dz-muted,#687588);--pin-line:var(--dz-line,#dde4ec);--pin-accent:var(--dz-accent,#059669);--pin-soft:color-mix(in srgb,var(--pin-accent) 8%,var(--pin-bg));color:var(--pin-text);font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;min-width:0}
.dz-dark .dz-pin,html[data-dz-theme=dark] .dz-pin{--pin-error:#ff919b;--pin-bg:var(--dz-surface,#151b24);--pin-text:var(--dz-ink,#edf2f9);--pin-muted:var(--dz-muted,#9ba8ba);--pin-line:var(--dz-line,#2c3747)}
.dz-pin *{box-sizing:border-box}.dz-pin svg{width:21px;height:21px;flex:none}.dz-pin button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.dz-pin button:focus-visible,.dz-pin input:focus-visible{outline:3px solid color-mix(in srgb,var(--pin-accent) 50%,transparent);outline-offset:3px}.dz-pin button:disabled{opacity:.5;cursor:default}
.dz-pin-heading{display:flex;gap:12px;align-items:center;margin-bottom:12px}.dz-pin-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--pin-soft);color:var(--pin-accent)}.dz-pin-heading small{font-size:11px;color:var(--pin-muted)}.dz-pin-heading h3{font-size:20px;line-height:1.6;margin:1px 0 0;font-weight:600}
.dz-pin-description{font-size:12px;line-height:1.8;color:var(--pin-muted);margin:0 0 20px}.dz-pin-form{margin:0!important}.dz-pin-entry{display:flex;align-items:center;gap:10px;width:100%;max-width:340px;margin:0 auto}
.dz-pin-field{position:relative;min-width:0;flex:1}.dz-pin-field input{position:absolute;inset:0;width:100%!important;height:100%;margin:0!important;opacity:0;font-size:18px;border:0!important;cursor:text;z-index:1}
.dz-pin-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;pointer-events:none}.dz-pin-slots span{display:grid;place-items:center;height:58px;border:1px solid var(--pin-line);border-radius:14px;background:var(--pin-bg);color:var(--pin-text);font:500 23px system-ui;transition:border-color .16s,background .16s,transform .16s}.dz-pin-slots .is-filled{background:var(--pin-soft);border-color:color-mix(in srgb,var(--pin-accent) 30%,var(--pin-line))}
.dz-pin-field:focus-within .is-current{border-color:var(--pin-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pin-accent) 12%,transparent)}
.dz-pin .dz-pin-toggle{display:grid;place-items:center;width:46px;min-height:46px;flex:none;padding:0;border:1px solid var(--pin-line);border-radius:13px;background:var(--pin-bg);color:var(--pin-accent)}
.dz-pin .dz-pin-toggle[aria-expanded=true]{background:var(--pin-soft);border-color:var(--pin-accent)}
.dz-pin-expand{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(8px);transition:grid-template-rows .18s cubic-bezier(.22,1,.36,1),opacity .18s,transform .18s}.dz-pin-pad-wrap{overflow:hidden;min-height:0}.dz-pin.is-expanded .dz-pin-expand{grid-template-rows:1fr;opacity:1;transform:none;transition-duration:.24s,.18s,.24s}.dz-pin-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:18px;max-width:340px;margin:auto}
.dz-pin .dz-pin-pad button{height:56px;min-width:44px;margin:0;border:1px solid var(--pin-line);border-radius:14px;background:var(--pin-bg);color:var(--pin-text);font:500 22px system-ui;display:grid;place-items:center;padding:0;transition:transform .1s,background .1s}.dz-pin .dz-pin-pad button:hover{background:var(--pin-soft)}.dz-pin .dz-pin-pad button:active{transform:scale(.96);background:color-mix(in srgb,var(--pin-accent) 16%,var(--pin-bg))}.dz-pin .dz-pin-pad [data-hide],.dz-pin .dz-pin-pad [data-erase]{color:var(--pin-muted);font-size:16px}
.dz-pin-tools{display:flex;justify-content:space-between;gap:12px;margin:12px auto 0;max-width:340px}.dz-pin .dz-pin-tools button{border:0;background:none;color:var(--pin-muted);font-size:11px;min-height:44px;margin:0;padding:5px 0;width:auto}.dz-pin [hidden]{display:none!important}
.dz-pin-status{min-height:23px;text-align:center;font-size:12px;line-height:1.8;margin:4px 0 12px;color:var(--pin-muted);overflow-wrap:anywhere}.dz-pin.has-error .dz-pin-status{color:var(--pin-error)}.dz-pin.has-error .dz-pin-slots span{border-color:var(--pin-error)}.dz-pin.is-success .dz-pin-status{color:var(--pin-accent)}
.dz-pin-actions{display:grid;gap:8px}.dz-pin .dz-pin-primary{width:100%;min-height:48px;border:0;border-radius:14px;background:var(--pin-accent);color:#fff;font-size:13px;font-weight:600;padding:11px 16px;margin:0}.dz-pin .dz-pin-cancel{width:100%;min-height:44px;border:0;background:none;color:var(--pin-muted);font-size:12px;margin:0;padding:8px}
@keyframes dz-pin-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}65%{transform:translateX(3px)}}.dz-pin-reject .dz-pin-entry{animation:dz-pin-shake .23s ease-out}
.dz-pin-lock-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));background:var(--dz-bg,#f8fafb);overflow:auto;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;direction:rtl}
.dz-pin-lock-card{width:min(100%,430px);background:var(--dz-surface,#fff);border:1px solid var(--dz-line,#dde4ec);border-radius:26px;padding:24px;color:var(--dz-ink,#182332);box-shadow:0 18px 55px #0000000a}
.dz-pin-brand{font:700 19px system-ui;text-align:center;color:var(--dz-accent,#059669);margin:0 0 24px}.dz-pin-lock-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:16px}.dz-pin-lock-links a,.dz-pin-lock-links button{font:inherit;font-size:12px;color:var(--dz-muted,#687588);border:0;background:none;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:6px;cursor:pointer}
.dz-pin-lock-help{font-size:12px;line-height:1.8;text-align:center;color:var(--dz-muted,#687588);margin:0}
html.dz-pin-locked body> :not(.dz-pin-lock-overlay){visibility:hidden!important}
.dz-security-pin-card{border:1px solid var(--dz-line);border-radius:18px;padding:17px;margin:16px 0;background:var(--dz-elevated)}.dz-security-pin-heading{display:flex;align-items:center;gap:11px}.dz-security-pin-heading>svg{width:25px;color:var(--dz-accent)}.dz-security-pin-heading>div{flex:1}.dz-security-pin-heading strong{font-size:13px}.dz-security-pin-heading small{display:block;font-size:11px;color:var(--dz-muted);line-height:1.8;margin-top:4px}.dz-security-pin-state{font-size:10px;color:var(--dz-accent);white-space:nowrap}.dz-security-pin-card>button{min-height:44px;margin-top:14px;width:100%;border:1px solid var(--dz-line);border-radius:12px;background:var(--dz-surface);color:var(--dz-accent);font:inherit;font-size:12px}
.dz-security-exit{border-top:1px solid var(--dz-line);padding-top:16px;margin-top:18px}.dz-security-exit>small{font-size:11px;color:var(--dz-muted)}
@media(max-width:420px){.dz-pin-lock-overlay{padding:12px}.dz-pin-lock-card{padding:20px 17px}.dz-pin-heading h3{font-size:18px}.dz-pin-slots span{height:56px}.dz-pin-entry{gap:8px}.dz-pin .dz-pin-toggle{width:44px}}
@media(prefers-reduced-motion:reduce){.dz-pin-expand,.dz-pin-slots span,.dz-pin .dz-pin-pad button{transition:none}.dz-pin-reject .dz-pin-entry{animation:none}}

.dz-pin-lock-overlay{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0}.dz-pin-lock-overlay::backdrop{background:var(--dz-bg,#f8fafb)}

:is(.dz-dark,html[data-dz-theme=dark]) .dz-pin-lock-overlay{background:var(--dz-bg,#0e1117);color-scheme:dark}:is(.dz-dark,html[data-dz-theme=dark]) .dz-pin-lock-card{background:var(--dz-surface,#151b24);color:var(--dz-ink,#edf2f9);border-color:var(--dz-line,#2c3747)}

/* Premium PIN flow: one card, two explicit stages. */
.dz-pin[data-mode=setup]{padding:4px 0}
.dz-pin-progress{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:24px;border:1px solid var(--pin-line);border-radius:16px;background:var(--pin-bg)}
.dz-pin-progress>span{display:flex;align-items:center;gap:7px;flex:none;font-size:11px;color:var(--pin-muted)}
.dz-pin-progress b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:color-mix(in srgb,var(--pin-muted) 9%,var(--pin-bg));color:var(--pin-muted);font:600 11px system-ui}
.dz-pin-progress>i{height:1px;flex:1;background:var(--pin-line)}
.dz-pin-progress .is-current{color:var(--pin-accent);font-weight:600}.dz-pin-progress .is-current b{background:var(--pin-accent);color:#fff;box-shadow:0 0 0 4px var(--pin-soft)}
.dz-pin-progress .is-done b{background:var(--pin-soft);color:var(--pin-accent)}
.dz-pin[data-mode=setup] .dz-pin-heading{justify-content:center;text-align:center;flex-direction:column;gap:12px;margin-bottom:8px}
.dz-pin[data-mode=setup] .dz-pin-mark{width:60px;height:60px;border-radius:21px;border:1px solid color-mix(in srgb,var(--pin-accent) 18%,var(--pin-line));background:linear-gradient(145deg,var(--pin-soft),var(--pin-bg));box-shadow:0 8px 22px color-mix(in srgb,var(--pin-accent) 9%,transparent)}
.dz-pin[data-mode=setup] .dz-pin-mark svg{width:28px;height:28px}
.dz-pin[data-mode=setup] .dz-pin-heading small{display:none}
.dz-pin[data-mode=setup] .dz-pin-title{font-size:23px;font-weight:600}
.dz-pin[data-mode=setup] .dz-pin-description{max-width:330px;margin:0 auto 23px;text-align:center;font-size:12px;line-height:1.9}
.dz-pin-field-label{text-align:center;font-size:11px;color:var(--pin-muted);margin-bottom:11px}
.dz-pin-entry{max-width:360px}.dz-pin-slots span{height:64px;border-radius:17px;background:linear-gradient(155deg,var(--pin-bg),var(--pin-soft));font-size:25px;box-shadow:0 3px 8px #00000003}
.dz-pin-slots .is-filled{border-color:color-mix(in srgb,var(--pin-accent) 55%,var(--pin-line));box-shadow:0 3px 10px color-mix(in srgb,var(--pin-accent) 9%,transparent)}
.dz-pin[data-mode=setup] .dz-pin-primary{min-height:52px;border-radius:15px;font-size:14px;box-shadow:0 6px 16px color-mix(in srgb,var(--pin-accent) 17%,transparent)}
.dz-pin[data-mode=setup] .dz-pin-primary:disabled{box-shadow:none}
.dz-pin-assurance{display:flex;align-items:flex-start;justify-content:center;gap:7px;color:var(--pin-muted);font-size:11px;line-height:1.8;text-align:center;margin:8px 0 0}
.dz-pin-assurance svg{width:14px;height:14px;margin-top:3px}
@keyframes dz-pin-stage-enter{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}
.dz-pin-stage-enter .dz-pin-heading,.dz-pin-stage-enter .dz-pin-description{animation:dz-pin-stage-enter .2s ease-out}
@media(max-width:360px){.dz-pin-progress{gap:7px;padding:11px 9px}.dz-pin-progress>span{font-size:10px;gap:5px}.dz-pin-slots{gap:6px}.dz-pin-slots span{height:60px}.dz-pin[data-mode=setup] .dz-pin-title{font-size:21px}}
@media(prefers-reduced-motion:reduce){.dz-pin-stage-enter .dz-pin-heading,.dz-pin-stage-enter .dz-pin-description{animation:none}}

/* Store lock screen: inherits the user's selected accent and light/dark theme. */
.dz-pin-lock-overlay{--pin-screen-accent:var(--dz-accent,#3b82f6);padding:clamp(14px,3.5vw,32px);background:radial-gradient(circle at 50% 23%,color-mix(in srgb,var(--pin-screen-accent) 8%,var(--dz-bg,#fbfbfd)),var(--dz-bg,#fbfbfd) 55%)}
.dz-pin-lock-card{width:min(100%,402px);padding:clamp(21px,4.5vw,30px);border-color:color-mix(in srgb,var(--pin-screen-accent) 10%,var(--dz-line,#ddd));border-radius:28px;box-shadow:0 20px 60px color-mix(in srgb,var(--dz-ink,#111) 7%,transparent)}
.dz-pin-brand{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0 0 20px}.dz-pin-brand img{display:block;width:154px;height:auto;max-height:48px;object-fit:contain}
.dz-pin-lock-host .dz-pin-heading{justify-content:center;flex-direction:column;text-align:center;gap:12px;margin:0 0 8px}.dz-pin-lock-host .dz-pin-heading>div{display:contents}.dz-pin-lock-host .dz-pin-heading small{order:1;font-size:11px}.dz-pin-lock-host .dz-pin-heading h3{order:2;margin:0;font-size:25px;line-height:1.45;font-weight:700}.dz-pin-lock-host .dz-pin-mark{order:0;width:54px;height:54px;border-radius:19px;border:1px solid color-mix(in srgb,var(--pin-accent) 15%,var(--pin-line));background:var(--pin-soft)}
.dz-pin-lock-host .dz-pin-description{text-align:center;font-size:13px;margin:0 auto 19px}.dz-pin-lock-host .dz-pin-field-label{font-size:11px;margin-bottom:11px}.dz-pin-lock-host .dz-pin-entry{max-width:310px;gap:9px}.dz-pin-lock-host .dz-pin-slots{gap:10px}.dz-pin-lock-host .dz-pin-slots span{height:58px;border-radius:17px;background:color-mix(in srgb,var(--pin-accent) 4%,var(--pin-bg));box-shadow:none}.dz-pin-lock-host .dz-pin-toggle{width:46px;min-height:46px}
.dz-pin-lock-host .dz-pin-pad{max-width:306px;gap:8px 15px;padding-top:18px}.dz-pin-lock-host .dz-pin-pad button{width:64px;height:64px;min-height:64px;justify-self:center;border-radius:50%;font-size:25px;background:color-mix(in srgb,var(--pin-accent) 3%,var(--pin-bg));border-color:color-mix(in srgb,var(--pin-accent) 8%,var(--pin-line))}.dz-pin-lock-host .dz-pin-pad [data-hide],.dz-pin-lock-host .dz-pin-pad [data-erase]{background:transparent;border-color:transparent}
.dz-pin-lock-host .dz-pin-tools{max-width:310px;margin-top:5px}.dz-pin-lock-host .dz-pin-tools button{font-size:12px}.dz-pin-lock-host .dz-pin-status{margin:1px 0 3px;min-height:21px}.dz-pin-lock-links{margin-top:7px;gap:12px}.dz-pin-lock-links a,.dz-pin-lock-links button{font-size:12px;padding:6px 9px}
:is(.dz-dark,html[data-dz-theme=dark]) .dz-pin-lock-overlay{background:radial-gradient(circle at 50% 21%,color-mix(in srgb,var(--pin-screen-accent) 10%,var(--dz-bg,#0a0a0c)),var(--dz-bg,#0a0a0c) 58%)}
@media(max-width:420px){.dz-pin-lock-overlay{padding:14px}.dz-pin-lock-card{padding:21px 19px}.dz-pin-lock-host .dz-pin-heading h3{font-size:23px}.dz-pin-lock-host .dz-pin-slots span{height:55px}.dz-pin-lock-host .dz-pin-pad button{width:58px;height:58px;min-height:58px}}
@media(max-height:660px){.dz-pin-lock-overlay{align-items:flex-start}.dz-pin-lock-card{margin:auto 0}.dz-pin-brand{margin-bottom:12px}.dz-pin-lock-host .dz-pin-description{margin-bottom:11px}.dz-pin-lock-host .dz-pin-pad{gap:3px 12px;padding-top:9px}.dz-pin-lock-host .dz-pin-pad button{height:52px;min-height:52px;width:52px}.dz-pin-lock-links{margin-top:2px}}
@media(prefers-reduced-motion:reduce){.dz-pin-lock-card,.dz-pin-lock-host .dz-pin-pad button{animation:none;transition:none}}
