/* Ricerca Labs sign-in: the same card as the main Ricerca Labs login, in the hub's colors. */
:root{color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:ui-serif,Georgia,"Times New Roman",serif;background:var(--ui-bg);color:var(--ui-text);display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px 16px}
.login-stage{width:100%;max-width:360px}
.login-card{background:var(--ui-panel);border:1px solid var(--ui-line);padding:32px 28px 24px;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.45);display:flex;flex-direction:column}
.login-card[hidden]{display:none}
.login-crest{display:block;margin:0 auto 10px}
.login-wordmark{font-size:14px;letter-spacing:3px;color:var(--ui-accent);text-align:center;margin:0 0 6px;font-weight:600}
.login-sub{font-size:12px;color:var(--ui-muted);text-align:center;margin:0 0 14px;line-height:1.5}
.login-tagline{font-size:13px;color:var(--ui-muted);text-align:center;margin:0 0 16px;font-style:italic}
.login-label{display:block;font-size:12px;color:var(--ui-muted);margin:12px 0 4px}
.login-input{width:100%;min-height:44px;padding:10px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-bg);color:var(--ui-text);font-size:16px;font-family:inherit}
.login-input:focus{outline:2px solid var(--ui-accent);outline-offset:1px}
.login-button{min-height:44px;width:100%;margin-top:18px;padding:11px;border:0;border-radius:6px;background:var(--ui-accent);color:var(--ui-button-text);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}
.login-button:disabled{opacity:.6;cursor:wait}
.login-error{color:var(--ui-negative);font-size:12px;margin-top:10px;min-height:14px;text-align:center;line-height:1.4}
.login-swap{min-height:44px;align-content:center;display:block;margin-top:12px;font-size:12px;color:var(--ui-muted);text-align:center;text-decoration:underline;cursor:pointer;background:none;border:0;padding:0;width:100%;font-family:inherit}
.login-swap b{color:var(--ui-gold);font-weight:600}
.login-swap[hidden]{display:none}
a.login-swap{color:var(--ui-muted)}
.login-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;text-align:center;font-size:12px;color:var(--ui-muted);margin:18px 0 0}
.login-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--ui-muted)}
.login-foot a[hidden],.login-foot span[hidden]{display:none}
.managed-options{display:grid;gap:10px;margin-top:12px}
.managed-divider{display:flex;align-items:center;gap:12px;margin:0 0 2px;color:var(--ui-muted);font:13px/20px system-ui,sans-serif}
.managed-divider::before,.managed-divider::after{content:"";height:1px;background:var(--ui-line);flex:1}
.provider-button{display:flex;align-items:center;justify-content:center;width:100%;height:46px;padding:0;border:1px solid #747775;border-radius:9px;overflow:hidden;cursor:pointer;transition:box-shadow .15s ease}
.provider-button--google{background:#fff;color:#1f1f1f}
.provider-button--apple{background:#000;color:#fff;border-color:#8e918f}
.provider-button img{display:block;max-width:100%;object-fit:contain;pointer-events:none}
.provider-button:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}
.provider-button:hover:not(:disabled){box-shadow:0 0 0 2px #90949b55}
.provider-button:disabled{opacity:.6;cursor:wait}
.login-card:has(.managed-options) .login-swap{margin-top:4px;min-height:44px}
.login-card:has(.managed-options) .login-error:empty{display:none}
@media (prefers-reduced-motion:no-preference){.login-card{animation:login-in .35s ease-out}@keyframes login-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
