.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--paper)}.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:24px}.auth-card .brand{display:flex;align-items:center;gap:10px;font:400 28px var(--font-display);color:var(--spruce);text-decoration:none;margin-bottom:8px}.auth-card h1{font:400 36px/1.1 var(--font-display);letter-spacing:-.01em;margin:0}.auth-card .sub{font:400 15px/1.5 var(--font-body);color:var(--ink-soft);margin:0}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form label{font:500 12px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;display:block}.auth-form input{width:100%;height:44px;padding:0 14px;background:var(--lamp);border:1px solid var(--birch);border-radius:var(--r-2);font:400 15px var(--font-body);color:var(--ink)}.auth-form input:focus{outline:2px solid var(--spruce);outline-offset:2px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font:500 11px var(--font-body);letter-spacing:.14em;text-transform:uppercase}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--birch)}.btn-google{height:44px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:var(--r-2);display:inline-flex;align-items:center;justify-content:center;gap:10px;font:500 15px var(--font-body);cursor:pointer;width:100%}.btn-google:hover{background:var(--ink);color:var(--paper)}.auth-error{font:400 13px var(--font-body);color:var(--lingon);background:color-mix(in srgb,var(--lingon) 6%,transparent);padding:10px 12px;border-radius:var(--r-2)}.auth-toggle{font:400 14px var(--font-body);color:var(--ink-soft);text-align:center}.auth-toggle a{color:var(--spruce)}.auth-promise{font:400 12px/1.5 var(--font-body);color:var(--ink-faint);text-align:center;border-top:1px solid var(--birch);padding-top:16px;margin-top:8px}