body{display:grid;place-items:center;min-height:100dvh;padding:20px;background:linear-gradient(135deg,#f3f0fc,#edf7f5)}
.firebase-card{width:min(100%,480px);background:#fff;border:1px solid #e1e5ed;border-radius:22px;box-shadow:0 20px 70px #28365514;padding:28px;overflow:hidden}
.firebase-stripe{height:5px;background:linear-gradient(90deg,#185282,#823c93,#166754);margin:-28px -28px 24px}.eyebrow{font-size:12px;letter-spacing:.12em;color:#61557c;font-weight:700}
.firebase-card h1{font-size:27px;margin:8px 0}.firebase-card p{line-height:1.55}.firebase-card label{display:grid;gap:6px;font-size:13px;margin:16px 0}.firebase-card input{width:100%;min-width:0}.firebase-actions{display:grid;gap:10px}.firebase-actions .btn{white-space:normal;min-height:44px}#firebaseStatus{overflow-wrap:anywhere;min-height:24px}.firebase-card footer{font-size:11px;border-top:1px solid #e1e5ed;padding-top:16px}.muted{color:#667085;font-size:12px}@media(max-width:480px){body{padding:12px}.firebase-card{padding:22px}.firebase-stripe{margin:-22px -22px 20px}}

/* Compact login choices, including small screens and long account messages. */
.firebase-card{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
.firebase-card .field{box-sizing:border-box}
.firebase-card .btn{box-sizing:border-box;text-align:center;justify-content:center}
.login-method{border:1px solid #dce3ef;border-radius:12px;margin:16px 0;padding:0 14px}
.login-method summary{cursor:pointer;min-height:48px;display:list-item;list-style-position:inside;padding:14px 0;font-size:14px;font-weight:600;color:#244d85}
.login-method summary:focus-visible{outline:3px solid #93b9f5;outline-offset:3px;border-radius:4px}
.login-method[open] summary{border-bottom:1px solid #e8edf5;margin-bottom:12px}
.login-method form{padding-bottom:4px}.login-method .firebase-actions{margin-top:16px}
.login-help{background:#f5f7fc;border-radius:12px;padding:14px;margin:18px 0;font-size:13px}
.login-help p{margin-bottom:0}.login-status{overflow-wrap:anywhere;min-height:0}
.login-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.firebase-card *{scroll-behavior:auto;transition:none}}

.firebase-card label.signup-consent{display:flex;align-items:flex-start;gap:9px}.firebase-card .signup-consent input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin-top:2px}

/* Consistent Google and Passkey choices; Google keeps its standard full-colour mark. */
.firebase-card #portalGoogle.auth-choice,.firebase-card #portalPasskey.auth-choice{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px;border-radius:10px;background:#fff;color:#1f1f1f;border:1px solid #747775;box-shadow:none;font-family:"Google Sans",Arial,sans-serif;font-size:14px;line-height:20px;font-weight:500;letter-spacing:.1px;white-space:normal;transition:background .15s,border-color .15s,box-shadow .15s}
.auth-choice .auth-choice-icon{display:block;width:20px;height:20px;flex:0 0 20px;object-fit:contain}.auth-choice svg.auth-choice-icon{color:#245baf}.auth-choice>span{flex:1;text-align:center}.auth-choice:after{content:"";width:20px;flex:0 0 20px}.firebase-card #portalGoogle.auth-choice:not(:disabled):hover,.firebase-card #portalPasskey.auth-choice:not(:disabled):hover{background:#f5f8fd;border-color:#386ec5;box-shadow:0 2px 8px #142b490c}.auth-choice:focus-visible{outline:3px solid #8bbcff;outline-offset:3px}.auth-choice:disabled{opacity:.55;cursor:wait}@media(prefers-reduced-motion:reduce){.firebase-card #portalGoogle.auth-choice,.firebase-card #portalPasskey.auth-choice{transition:none}}
