.password-card{max-width:520px;margin:28px auto;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text)}
.password-card h1{font-size:clamp(26px,6vw,34px);line-height:1.15;letter-spacing:-.7px;margin:10px 0 14px}
.password-card p{line-height:1.5;color:var(--muted)}
.password-card form{display:grid;gap:10px;margin-top:22px}
.password-card label{font-size:15px;font-weight:650;margin-top:8px}
.password-card input{box-sizing:border-box;width:100%;min-height:50px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;padding:12px 14px;font-size:16px}
.password-card input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.password-card input[readonly]{opacity:.8}
.password-card small{font-size:13px;color:var(--muted);line-height:1.5}
.password-card button{min-height:48px;cursor:pointer}
.password-card form>.access-primary{margin-top:12px}
.password-card [role=status]:empty,.password-card [role=alert]:empty{display:none}
.password-card details{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.password-card summary{cursor:pointer;padding:8px 0;font-weight:600}
.password-card .access-secondary{margin-top:16px}
#install-reminder{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:14px}
#install-reminder[hidden]{display:none}
#install-reminder strong,#install-reminder small{display:block}
#install-reminder small{color:var(--muted);margin-top:4px}
#install-reminder>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#install-reminder a{color:var(--accent);font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
#install-reminder button{font:inherit;background:transparent;color:var(--muted);border:0;min-height:44px;cursor:pointer}
@media(max-width:540px){.password-card{padding:22px 18px;margin:18px auto}#install-reminder{align-items:flex-start;flex-direction:column;gap:4px}}

/* The entry screen has its own white palette; the saved customer theme resumes after login. */
body.password-entry{color-scheme:light;--bg:#fff;--surface:#fff;--text:#182b29;--muted:#5b6f6b;--line:#dce6e3;--accent:#007c68;--mint:#edf9f5;--mint-strong:#d0f0e6;background:var(--bg)}
.password-entry .app-shell{width:100%;max-width:432px;padding:0 28px max(32px,env(safe-area-inset-bottom));min-height:100dvh}
.password-entry .app-header{justify-content:center;padding:64px 0 30px;gap:0;animation:none}
.password-entry .header-actions{display:none}
.password-entry .brand{font-size:28px;gap:10px;letter-spacing:-1.2px}
.password-entry .brand img{width:48px;height:48px;border-radius:14px}
.password-entry .access-card{width:100%;max-width:none;padding:0;margin:20px 0;border:0;border-radius:0;background:var(--surface);box-shadow:none}
.password-entry .access-card h1{text-align:center;font-size:26px;letter-spacing:-.6px;margin:0 0 10px}
.password-entry .access-card>p:first-of-type{text-align:center;font-size:14px;margin:0 0 24px}
.password-entry .password-card form{gap:8px;margin-top:28px}
.password-entry .password-card label{margin:12px 0 0;font-size:14px}
.password-entry .password-card input{min-height:52px;border-radius:12px;background:var(--surface)}
.password-entry .password-card input::placeholder{color:var(--muted);opacity:.85}
.password-entry .password-card small{font-size:12px}
.password-entry .access-primary{background:var(--accent);border-color:var(--accent);color:var(--surface);min-height:50px;margin:18px 0 0;border-radius:12px}
.password-entry .access-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,var(--text))}
.password-entry .password-card details{border:0;padding:0;margin-top:20px;text-align:center}
.password-entry .password-card summary{display:block;list-style:none;min-height:44px;padding:12px 0;font-size:14px;font-weight:500}
.password-entry .password-card summary::-webkit-details-marker{display:none}
.password-entry .password-card details[open] summary{text-decoration:underline;text-underline-offset:4px}
.password-entry .password-card details p{text-align:left;font-size:14px;margin:8px 0}
.password-entry #show-personal-access{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500;margin:14px 0 0;padding-top:22px;min-height:52px}
@media(max-width:540px){.password-entry .app-header{padding-top:max(40px,env(safe-area-inset-top))}.password-entry .brand{font-size:26px}}

.password-entry #account-status{font-size:14px;line-height:1.5;background:var(--mint);border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}
.password-entry #password-entry-help{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 24px}
