.ws-card{box-sizing:border-box;background:#ffffff;color:#251e4c;border-radius:1.25rem;
box-shadow:0 1px 3px rgba(37,30,76,.08),0 14px 36px rgba(37,30,76,.08);padding:2rem 2rem 1.5rem;margin:11vh auto 2rem;width:min(27rem,100%);text-align:center}
/* Sentrert loddrett og vannrett (som inngangen), maks 420 px; på PC i høyre halvdel ved siden av bildet; mobil uten skygge */
#locked.ws-card,#pin-setup.ws-card{position:fixed;inset:0;margin:auto;height:fit-content;width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;z-index:30}
@media (min-width:960px){#locked.ws-card,#pin-setup.ws-card{left:50%;width:min(420px,calc(50% - 32px))}}
@media (max-width:959.98px){#locked.ws-card,#pin-setup.ws-card{inset:auto 0 0 0;margin:0;width:100%;height:auto;max-height:100dvh;
border-radius:24px 24px 0 0;box-shadow:0 -20px 48px 4px rgba(255,255,255,.75);padding:1.75rem max(1.25rem,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 24px) max(1.25rem,env(safe-area-inset-left))}
#locked.ws-card>*,#pin-setup.ws-card>*{max-width:420px;margin-left:auto;margin-right:auto}:is(#locked,#pin-setup).ws-card .ws-logo{width:200px}}
/* Lave skjermer (iPhone SE, åpent tastatur): tettere ark, så bildet får plass over */
@media (max-width:959.98px) and (max-height:740px){#locked.ws-card,#pin-setup.ws-card{padding-top:1.25rem}
:is(#locked,#pin-setup).ws-card .ws-logo{width:170px;margin-bottom:.6rem}:is(#locked,#pin-setup).ws-card h1{margin:.4rem 0 .1rem;font-size:1.25rem}
:is(#locked,#pin-setup).ws-card .ws-field{margin:.5rem 0 .25rem}:is(#locked,#pin-setup).ws-card .ws-stack{margin-top:.5rem}
:is(#locked,#pin-setup).ws-card .ws-minor{margin-top:.25rem;padding-top:.25rem}}
.ws-logo{display:block;margin:0 auto 1.1rem;width:220px;max-width:100%;height:auto}
.ws-card h1,.ws-card h2{margin:.85rem 0 .35rem;font-size:1.45rem;line-height:1.2;color:#251e4c}
.ws-card p{margin:.25rem 0 .75rem;color:#483862;font-size:.95rem;line-height:1.5}
.ws-card .ws-field{display:block;text-align:left;font-weight:600;font-size:.9rem;margin:1rem 0 .35rem;color:#251e4c}
.ws-card input{display:block;box-sizing:border-box;width:100%;min-height:3.5rem;font:inherit;font-size:1.75rem;letter-spacing:.45em;text-align:center;
padding:.5rem .75rem;border:1.5px solid #c5cfea;border-radius:.75rem;background:#ffffff;color:#251e4c}
.ws-card input:focus-visible{outline:3px solid #7f69bd;outline-offset:2px;border-color:#5b439f}
.ws-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.5rem 0}
.ws-card .ws-stack{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin:.75rem 0 0}
.ws-card button,.ws-dialog button{font:inherit;font-weight:600;padding:.5rem 1.1rem;border:1px solid #c5cfea;background:#ffffff;color:#251e4c;
border-radius:1.875rem;cursor:pointer;min-height:2.75rem}
.ws-card button:hover:not(:disabled),.ws-dialog button:hover:not(:disabled){background:#f8f9fc}
.ws-card button:focus-visible,.ws-dialog button:focus-visible{outline:3px solid #7f69bd;outline-offset:2px}
.ws-card button.ws-primary,.ws-dialog button.ws-primary{background:#5b439f;color:#ffffff;border-color:#5b439f}
.ws-card button.ws-primary{min-height:3.25rem;font-size:1.05rem;font-weight:700}
.ws-card button.ws-primary:hover:not(:disabled),.ws-dialog button.ws-primary:hover:not(:disabled){background:#483862;border-color:#483862}
.ws-card button.ws-secondary{border-color:#5b439f;color:#5b439f}
.ws-card button.ws-link{border:none;background:none;text-decoration:underline;color:#483862;font-weight:500;font-size:.85rem;min-height:3rem;padding:.25rem .75rem}
.ws-minor{display:flex;justify-content:center;gap:.25rem 1rem;flex-wrap:wrap;margin:1rem 0 0;padding-top:.75rem;border-top:1px solid #e8e7ea}
.ws-error{color:#251e4c;font-weight:600;font-size:.9rem;text-align:left;margin:.5rem 0 0}
.ws-error:empty{display:none}.ws-error:not(:empty){border-left:4px solid #ea644e;background:#fef5f3;padding:.45rem .7rem;border-radius:.4rem}
.ws-card .ws-draft{background:#f8f9fc;border-radius:.6rem;padding:.5rem .75rem;font-size:.88rem;text-align:left}
.ws-dialog{width:min(30rem,calc(100% - 2rem));border:none;border-top:6px solid #ffc478;border-radius:.75rem;padding:1.1rem 1.25rem;color:#251e4c}
.ws-dialog p{font-weight:600;margin:0 0 .75rem}
.ws-card [hidden],.ws-dialog [hidden]{display:none!important}
.ws-card .ws-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0;padding:0;border:0}
.ws-card input::placeholder{font-size:1rem;letter-spacing:.02em;color:#483862;opacity:.75}
