/* Web custodian portal additions to wizard.css (login form, sign-out). Colors come from the theme (CSS properties). */
.login{margin:6px 0 4px;max-width:620px}
.field{display:block;margin:0 0 22px}
.field .lbl{display:block;font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:0 0 6px}
.field input{width:100%;font:inherit;font-family:var(--font-display);font-size:30px;font-weight:300;letter-spacing:.5px;
  color:var(--text-strong);background:transparent;border:0;border-bottom:2px solid var(--border);padding:6px 2px 8px;
  border-radius:0;outline:none;transition:border-color .2s ease}
.field input::placeholder{color:color-mix(in srgb,var(--muted) 55%,transparent)}
.field input:focus{border-bottom-color:var(--primary-2)}
.login .actions{margin-top:8px}
.portal-login .privacy{margin-top:28px;max-width:700px}
.portal-login .status.ok{margin:0 0 16px}
.portal-login .notice{margin:0 0 18px;max-width:620px}
.portal-login a.ghost{text-decoration:none;display:inline-block}
form.signout{display:inline;margin:0}
.screen.leave-up .btn{opacity:.6}
@media (max-width:760px){.field input{font-size:24px}}
/* Optional consent step (portal_consent.py): the notice is shown verbatim as plain text in a scrollable box. */
.consent-doc{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.6;color:var(--text);max-height:min(46vh,420px);
  overflow-y:auto;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);border-radius:10px;
  padding:18px 22px;margin:0 0 8px;max-width:780px}
.consent-doc:focus{outline:2px solid var(--primary-2);outline-offset:2px}
.consent-meta{font-size:14px;color:var(--muted);margin:0 0 18px}
.agree{display:flex;align-items:flex-start;gap:12px;font-size:18px;cursor:pointer;max-width:780px}
.agree input{width:24px;height:24px;margin:2px 0 0;flex:none;accent-color:var(--primary)}
.portal-consent .notice{margin:0 0 16px;max-width:780px}
.portal-consent .actions a.ghost{text-decoration:none}
/* Keep the checkbox and buttons above the fold on a laptop screen: a smaller heading, the document box scrolls. */
.portal-consent h1{font-size:34px}
.portal-consent .lead{font-size:19px;margin-bottom:16px}
.consent-doc{max-height:min(36vh,360px)}
@media (max-width:760px){.consent-doc{max-height:none;font-size:15px;padding:14px 16px}.agree{font-size:17px}}
/* With a date range shown above the notice, the document box gives up a little height so the buttons stay visible. */
.has-scope .consent-doc{max-height:min(28vh,280px)}
.has-scope.portal-consent h1{font-size:30px;margin-bottom:8px}
.has-scope.portal-consent .lead{font-size:18px;margin-bottom:12px}
@media (max-width:760px){.has-scope .consent-doc{max-height:none}}
.scope-prev + .consent-doc{max-height:min(24vh,240px)}
@media (max-width:760px){.scope-prev + .consent-doc{max-height:none}}
